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

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

Info

Publication number
JP2012508938A
JP2012508938A JP2011536548A JP2011536548A JP2012508938A JP 2012508938 A JP2012508938 A JP 2012508938A JP 2011536548 A JP2011536548 A JP 2011536548A JP 2011536548 A JP2011536548 A JP 2011536548A JP 2012508938 A JP2012508938 A JP 2012508938A
Authority
JP
Japan
Prior art keywords
epc
instruction
data
machine
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011536548A
Other languages
English (en)
Inventor
マクキーン、フランク
サヴァガオンカー、ウデイ
ロザス、カルロス、ヴィ.
ゴールドスミス、マイケル、エー.
ハーバート、ホワード、シー.
アルトマン、アシャー
グラウンケ、ゲリー
ダーハム、デイビット
ジョンソン、サイモン、ピー.
コーナヴィス、マイケル、イー.
スカーラタ、ヴィンセント、アール.
シフラ、ジョセフ
ジェヤシン、スタリンセルヴァラジ
リント、ベルナード
ネイガー、ジル
ロジャーズ、ディオン
ブリッケル、アーニー
リ、ジアングオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2012508938A publication Critical patent/JP2012508938A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

本発明の実施形態は概して情報処理分野に係り、より詳しくはコンピュータシステムおよびマイクロプロセッサにおけるセキュリティ分野に係る。
コンピュータシステムにおけるアプリケーションおよびそのデータの実行および整合性をセキュアに守ることは益々重要となっている。先行技術のセキュリティ技術のなかには、柔軟且つ信頼性高くアプリケーションおよびデータを適切にセキュアに守ることができないものもある。
本発明の実施形態を、添付図面に限定を意図せずに示すが、添付図面において同様の参照番号が付されている部材は同様である。
本発明の少なくとも1つの実施形態を利用可能なマイクロプロセッサのブロック図を示す。 本発明の少なくとも1つの実施形態を利用可能な共有バスコンピュータシステムのブロック図を示す。 本発明の少なくとも1つの実施形態を利用可能なポイントツーポイントインターコネクトコンピュータシステムのブロック図を示す。
本発明の実施形態は、セキュアなアプリケーションおよびデータを柔軟且つ信頼性高く提供する技術に係る。本発明には複数の側面を表す複数の実施形態が存在するが、「セキュアなエンクレーブ・アーキテクチャ」というタイトルの添付書類をここに少なくとも1つの実施形態の例として組み込む。しかし、組み込まれる参考文献により本発明の実施形態の範囲を限定する意図は全くなく、本発明の精神および範囲に含まれる他の実施形態を利用することもできる。
図1は、本発明の少なくとも1つの実施形態を利用可能なマイクロプロセッサを示す。特に図1においては、それぞれローカルキャッシュ107および113を関連付けられた1以上のプロセッサコア105および110を有するマイクロプロセッサ100が示されている。さらに図1には、ローカルキャッシュ107および113の各々に格納されている情報の少なくとも一部のバージョンを格納してよい共有キャッシュメモリ115も示されている。一部の実施形態では、マイクロプロセッサ100は、さらに、図1に示されていない他のロジック(例えば、統合メモリコントローラ、統合グラフィックスコントローラ、およびI/O制御等のコンピュータシステム内の他の機能を実行する他のロジック)を含むことができる。一実施形態では、マルチプロセッサシステムの各マイクロプロセッサまたはマルチコアプロセッサの各プロセッサコアが、ロジック119を含み、またはロジック119に関連付けられて、少なくとも1つの実施形態におけるセキュアなエンクレーブ技術を可能とする。ロジックに、回路、ソフトウェア(有形媒体に具現化されている)、またはこれらの両方を含めることで、一部の先行技術における実装例におけるよりも、複数のコアまたはプロセッサ間のリソース割り当てを効率的に行うことができる。
例えば図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つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
図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つの実施形態におけるセキュアなエンクレーブ技術を実現することができる。
少なくとも1つの実施形態の1以上の側面は、プロセッサ内の様々なロジックを表す機械可読媒体に格納された代表的なデータにより実装することができ、機械により読み出されると、機械に、ここで説明する技術を行わせるロジックを生成させる。「IPコア」として知られているような表現は、有形の機械可読媒体(「テープ」)に格納されて、様々なカスタマーまたは製造施設に供給された後に製造機械へ搭載され、ここで実際のロジックまたはプロセッサが生成される。
マイクロアーキテクチャにおけるメモリ領域アクセスを行うための方法および装置を記載してきた。上述した記載は、例示を意図しており限定は意図していない。当業者であれば上述の記載を読むことで数多くの他の実施形態を想到するであろう。従って本発明の範囲は、添付請求項、および、請求項の均等物の全範囲による定義が意図されている。

Claims (30)

  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に記載の方法。
JP2011536548A 2008-11-14 2009-11-14 セキュアなアプリケーション実行方法および装置 Pending JP2012508938A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19931808P 2008-11-14 2008-11-14
US61/199,318 2008-11-14
US59076709A 2009-11-13 2009-11-13
US12/590,767 2009-11-13
PCT/US2009/064493 WO2010057065A2 (en) 2008-11-14 2009-11-14 Method and apparatus to provide secure application execution

Publications (1)

Publication Number Publication Date
JP2012508938A true JP2012508938A (ja) 2012-04-12

Family

ID=42170755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011536548A Pending JP2012508938A (ja) 2008-11-14 2009-11-14 セキュアなアプリケーション実行方法および装置

Country Status (2)

Country Link
JP (1) JP2012508938A (ja)
WO (1) WO2010057065A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012009013A (ja) * 2010-06-21 2012-01-12 Intel Corp 部分仮想化マシンに基づく統一格納装置
JP2014203456A (ja) * 2013-03-31 2014-10-27 インテル・コーポレーション セキュアエンクレーブページキャッシュのための進歩したページング能力を提供するための命令および論理
US9087200B2 (en) 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189807A1 (en) 2011-10-18 2014-07-03 Conor P. Cahill Methods, systems and apparatus to facilitate client-based authentication
US9189411B2 (en) * 2012-12-28 2015-11-17 Intel Corporation Logging in secure enclaves
US9747102B2 (en) 2012-12-28 2017-08-29 Intel Corporation Memory management in secure enclaves
US9323686B2 (en) 2012-12-28 2016-04-26 Intel Corporation Paging in secure enclaves
US9177353B2 (en) 2013-03-15 2015-11-03 Intel Corporation Secure rendering of display surfaces
US9501668B2 (en) 2013-09-25 2016-11-22 Intel Corporation Secure video ouput path
US9448950B2 (en) 2013-12-24 2016-09-20 Intel Corporation Using authenticated manifests to enable external certification of multi-processor platforms
US9355262B2 (en) * 2013-12-27 2016-05-31 Intel Corporation Modifying memory permissions in a secure processing environment
US9705892B2 (en) 2014-06-27 2017-07-11 Intel Corporation Trusted time service for offline mode
US9606940B2 (en) 2015-03-27 2017-03-28 Intel Corporation Methods and apparatus to utilize a trusted loader in a trusted computing environment
US10552344B2 (en) 2017-12-26 2020-02-04 Intel Corporation Unblock instruction to reverse page block during paging

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228786A (ja) * 2003-01-21 2004-08-12 Toshiba Corp 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
JP2005099984A (ja) * 2003-09-24 2005-04-14 Toshiba Corp オンチップマルチコア型耐タンパプロセッサ
US20050100163A1 (en) * 2003-11-10 2005-05-12 Broadcom Corporation System and method for securing executable code
JP2008059057A (ja) * 2006-08-29 2008-03-13 Hitachi Ltd 計算機システム及びプロセッサの制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US7650479B2 (en) * 2006-09-20 2010-01-19 Arm Limited Maintaining cache coherency for secure and non-secure data access requests

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228786A (ja) * 2003-01-21 2004-08-12 Toshiba Corp 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
JP2005099984A (ja) * 2003-09-24 2005-04-14 Toshiba Corp オンチップマルチコア型耐タンパプロセッサ
US20050100163A1 (en) * 2003-11-10 2005-05-12 Broadcom Corporation System and method for securing executable code
JP2008059057A (ja) * 2006-08-29 2008-03-13 Hitachi Ltd 計算機システム及びプロセッサの制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087200B2 (en) 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution
US10102380B2 (en) 2009-12-22 2018-10-16 Intel Corporation Method and apparatus to provide secure application execution
US10885202B2 (en) 2009-12-22 2021-01-05 Intel Corporation Method and apparatus to provide secure application execution
JP2012009013A (ja) * 2010-06-21 2012-01-12 Intel Corp 部分仮想化マシンに基づく統一格納装置
JP2014203456A (ja) * 2013-03-31 2014-10-27 インテル・コーポレーション セキュアエンクレーブページキャッシュのための進歩したページング能力を提供するための命令および論理
JP2016006681A (ja) * 2013-03-31 2016-01-14 インテル・コーポレーション セキュアエンクレーブページキャッシュのための進歩したページング能力を提供するための命令および論理

Also Published As

Publication number Publication date
WO2010057065A2 (en) 2010-05-20
WO2010057065A3 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
JP2012508938A (ja) セキュアなアプリケーション実行方法および装置
US9690704B2 (en) Paging in secure enclaves
TWI697805B (zh) 載入和虛擬化密碼金鑰
US8898666B2 (en) Virtual machine system and virtual machine system control method for controlling program execution on a plurality of processors that have a plurality of privileged modes
US9405551B2 (en) Creating an isolated execution environment in a co-designed processor
JP4764360B2 (ja) メモリ属性を用いるための技術
US11354240B2 (en) Selective execution of cache line flush operations
CN102271153A (zh) 用于虚拟化tpm访问的系统、方法以及装置
CN104883256B (zh) 一种抵抗物理攻击和系统攻击的密钥保护方法
JP2014504416A5 (ja)
KR20120061938A (ko) 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템
EP1939752A1 (en) Obscuring memory access patterns
TW201702924A (zh) 保護客戶抵抗旁路攻擊的技術
US20180336034A1 (en) Near memory computing architecture
TWI582635B (zh) 對於控制轉移指令的返回
US20140344947A1 (en) Method and apparatus for handling storage of context information
CN104102549A (zh) 一种实现多线程互斥操作的方法、装置和芯片
TWI760756B (zh) 共用代碼之系統與代碼共用方法
US8933946B2 (en) Mechanism for effectively handling texture sampling
US20150154124A1 (en) Secure data partition in nonvolatile memory systems
JP2009271597A (ja) プロセッサ
Wang et al. Co-mining: a processing-in-memory assisted framework for memory-intensive PoW acceleration
WO2023239671A1 (en) Virtual memory paging system and translation lookaside buffer with pagelets

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130110

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130820

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130830