説明

セキュアなアプリケーション実行方法および装置

コンピュータシステム内のセキュアなアプリケーションおよびデータの整合性を実現する技術が提供される。一実施形態では、アプリケーションおよびデータを格納および実行可能な1以上のセキュアなエンクレーブを構築する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は概して情報処理分野に係り、より詳しくはコンピュータシステムおよびマイクロプロセッサにおけるセキュリティ分野に係る。
【背景技術】
【0002】
コンピュータシステムにおけるアプリケーションおよびそのデータの実行および整合性をセキュアに守ることは益々重要となっている。先行技術のセキュリティ技術のなかには、柔軟且つ信頼性高くアプリケーションおよびデータを適切にセキュアに守ることができないものもある。
【0003】
本発明の実施形態を、添付図面に限定を意図せずに示すが、添付図面において同様の参照番号が付されている部材は同様である。
【図面の簡単な説明】
【0004】
【図1】本発明の少なくとも1つの実施形態を利用可能なマイクロプロセッサのブロック図を示す。
【図2】本発明の少なくとも1つの実施形態を利用可能な共有バスコンピュータシステムのブロック図を示す。
【図3】本発明の少なくとも1つの実施形態を利用可能なポイントツーポイントインターコネクトコンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【0005】
本発明の実施形態は、セキュアなアプリケーションおよびデータを柔軟且つ信頼性高く提供する技術に係る。本発明には複数の側面を表す複数の実施形態が存在するが、「セキュアなエンクレーブ・アーキテクチャ」というタイトルの添付書類をここに少なくとも1つの実施形態の例として組み込む。しかし、組み込まれる参考文献により本発明の実施形態の範囲を限定する意図は全くなく、本発明の精神および範囲に含まれる他の実施形態を利用することもできる。
【0006】
図1は、本発明の少なくとも1つの実施形態を利用可能なマイクロプロセッサを示す。特に図1においては、それぞれローカルキャッシュ107および113を関連付けられた1以上のプロセッサコア105および110を有するマイクロプロセッサ100が示されている。さらに図1には、ローカルキャッシュ107および113の各々に格納されている情報の少なくとも一部のバージョンを格納してよい共有キャッシュメモリ115も示されている。一部の実施形態では、マイクロプロセッサ100は、さらに、図1に示されていない他のロジック(例えば、統合メモリコントローラ、統合グラフィックスコントローラ、およびI/O制御等のコンピュータシステム内の他の機能を実行する他のロジック)を含むことができる。一実施形態では、マルチプロセッサシステムの各マイクロプロセッサまたはマルチコアプロセッサの各プロセッサコアが、ロジック119を含み、またはロジック119に関連付けられて、少なくとも1つの実施形態におけるセキュアなエンクレーブ技術を可能とする。ロジックに、回路、ソフトウェア(有形媒体に具現化されている)、またはこれらの両方を含めることで、一部の先行技術における実装例におけるよりも、複数のコアまたはプロセッサ間のリソース割り当てを効率的に行うことができる。
【0007】
例えば図2は、本発明の一実施形態を利用可能なフロントサイドバス(FSB)コンピュータシステムを示す。プロセッサ201、205、210、または215は、いずれもが、プロセッサコア223、227、233、237、243、247、253、257のいずれかの中の、またはこれに関連付けられたいずれかのローカルレベル1(L1)キャッシュメモリ220、225、230、235、240、245、250、255からの情報にアクセスすることができる。さらにプロセッサ201、205、210、または215は、いずれもが、いずれかの共有レベル2(L2)キャッシュ203、207、213、217からの情報に、または、チップセット265を介してシステムメモリ260からの情報にアクセスすることができる。図2のプロセッサのうち1以上のプロセッサが、ロジック219を含むことで、またはこれに関連付けられることで、少なくとも1つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
【0008】
図2に示すFSBコンピュータシステムに加えて、他のシステム構成(例えばポイントツーポイント(P2P)インターコネクトシステムおよびリングインターコネクトシステム)を本発明の様々な実施形態と共に利用することもできる。図3のP2Pシステムは、例えば、複数のプロセッサを含むことができ、このうち2つのプロセッサであるプロセッサ370および380を例示している。プロセッサ370、380は各々、メモリ32、34に接続するべくローカルメモリコントローラハブ(MCH)372、382を含んでよい。プロセッサ370、380は、PtPインタフェース回路378、388を利用してポイントツーポイント(PtP)インタフェース350を介してデータを交換することができる。プロセッサ370、380は各々、ポイントツーポイントインタフェース回路376、394、386、398を利用して個々のPtPインタフェース352、354を介してチップセット390とデータを交換することができる。さらにチップセット390は、高性能グラフィックスインタフェース339を介して高性能グラフィック回路338とデータを交換することができる。本発明の実施形態は、任意の数のプロセッサコアを有する任意のプロセッサ内に、または、図3の各PtPバスエージェント内に位置してよい。一実施形態では、いずれのプロセッサコアもが、ローカルキャッシュメモリ(不図示)を含んでも、これと関連付けられてよい。さらに共有キャッシュ(不図示)は、両プロセッサの外のいずれかのプロセッサに含まれるが、p2pインターコネクトを介してこれらプロセッサと接続されており、プロセッサが低電力モードになった場合に、これらプロセッサのいずれかまたは両方のローカルキャッシュ情報を共有キャッシュに格納することができる。図3のプロセッサまたはコアの1以上は、ロジック319を含む、またはこれと関連付けられることで、少なくとも1つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
【0009】
少なくとも1つの実施形態の1以上の側面は、プロセッサ内の様々なロジックを表す機械可読媒体に格納された代表的なデータにより実装することができ、機械により読み出されると、機械に、ここで説明する技術を行わせるロジックを生成させる。「IPコア」として知られているような表現は、有形の機械可読媒体(「テープ」)に格納されて、様々なカスタマーまたは製造施設に供給された後に製造機械へ搭載され、ここで実際のロジックまたはプロセッサが生成される。
【0010】
マイクロアーキテクチャにおけるメモリ領域アクセスを行うための方法および装置を記載してきた。上述した記載は、例示を意図しており限定は意図していない。当業者であれば上述の記載を読むことで数多くの他の実施形態を想到するであろう。従って本発明の範囲は、添付請求項、および、請求項の均等物の全範囲による定義が意図されている。

【特許請求の範囲】
【請求項1】
エンクレーブ・ページキャッシュ(EPC)と第2の格納領域との間で保護データを移動させる少なくとも1つの第1の命令を実行する実行ロジックを備えるプロセッサ。
【請求項2】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項1に記載のプロセッサ。
【請求項3】
前記プログラムは特権モードで実行される請求項2に記載のプロセッサ。
【請求項4】
前記少なくとも1つの第1の命令は、メモリから前記EPCにデータをコピーする命令を含む請求項1に記載のプロセッサ。
【請求項5】
前記少なくとも1つの第1の命令は、前記EPCからメモリにデータをコピーする命令を含む請求項1に記載のプロセッサ。
【請求項6】
前記EPCは、悪意あるコードから保護された情報を格納する請求項1に記載のプロセッサ。
【請求項7】
前記EPCはユーザアプリケーション専用の情報を格納する請求項1に記載のプロセッサ。
【請求項8】
前記EPCは、暗号化鍵を利用した場合のみアクセス可能である請求項1に記載のプロセッサ。
【請求項9】
機械により実行されると前記機械に、エンクレーブ・ページキャッシュ(EPC)と第2の格納領域との間で保護データを移動させる段階を備える方法を実行させる命令を格納している機械可読媒体。
【請求項10】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項9に記載の機械可読媒体。
【請求項11】
前記プログラムは特権モードで実行される請求項10に記載の機械可読媒体。
【請求項12】
前記少なくとも1つの第1の命令は、メモリから前記EPCにデータをコピーする命令を含む請求項9に記載の機械可読媒体。
【請求項13】
前記少なくとも1つの第1の命令は、前記EPCからメモリにデータをコピーする命令を含む請求項9に記載の機械可読媒体。
【請求項14】
前記EPCは、悪意あるコードから保護された情報を格納する請求項9に記載の機械可読媒体。
【請求項15】
前記EPCはユーザアプリケーション専用の情報を格納する請求項9に記載の機械可読媒体。
【請求項16】
前記EPCは、暗号化鍵を利用した場合のみアクセス可能である請求項9に記載の機械可読媒体。
【請求項17】
第1の命令を格納する格納領域と、
前記格納領域から前記第1の命令をフェッチするプロセッサと
を備え、
前記第1の命令は、エンクレーブ・ページキャッシュ(EPC)と第2の格納領域との間で保護データのコピーを行うシステム。
【請求項18】
前記保護データにアクセスするプログラムの実行中に前記データを移動させる請求項17に記載のシステム。
【請求項19】
前記プログラムは特権モードで実行される請求項18に記載のシステム。
【請求項20】
前記少なくとも1つの第1の命令は、メモリから前記EPCにデータをコピーする命令を含む請求項17に記載のシステム。
【請求項21】
前記少なくとも1つの第1の命令は、前記EPCからメモリにデータをコピーする命令を含む請求項17に記載のシステム。
【請求項22】
前記EPCは、悪意あるコードから保護された情報を格納する請求項17に記載のシステム。
【請求項23】
前記EPCはユーザアプリケーション専用の情報を格納する請求項17に記載のシステム。
【請求項24】
前記EPCは、暗号化鍵を利用した場合のみアクセス可能である請求項17に記載のシステム。
【請求項25】
第1の命令が実行されるとエンクレーブ・ページキャッシュ(EPC)と格納領域との間で情報を移動させる段階を備え、
前記第1の命令は特殊なEPCアクセス命令であり、
前記保護データにアクセスするプログラムの実行中に前記データを移動させ、
前記プログラムを特権モードで実行する方法。
【請求項26】
前記少なくとも1つの第1の命令は、メモリから前記EPCにデータをコピーする命令を含む請求項25に記載の方法。
【請求項27】
前記少なくとも1つの第1の命令は、前記EPCからメモリにデータをコピーする命令を含む請求項26に記載の方法。
【請求項28】
前記EPCは、悪意あるコードから保護された情報を格納する請求項27に記載の方法。
【請求項29】
前記EPCはユーザアプリケーション専用の情報を格納する請求項28に記載の方法。
【請求項30】
前記EPCは、暗号化鍵を利用した場合のみアクセス可能である請求項29に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2012−508938(P2012−508938A)
【公表日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2011−536548(P2011−536548)
【出願日】平成21年11月14日(2009.11.14)
【国際出願番号】PCT/US2009/064493
【国際公開番号】WO2010/057065
【国際公開日】平成22年5月20日(2010.5.20)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】