CN104798053A - 安全区域内的存储器管理 - Google Patents

安全区域内的存储器管理 Download PDF

Info

Publication number
CN104798053A
CN104798053A CN201380060646.2A CN201380060646A CN104798053A CN 104798053 A CN104798053 A CN 104798053A CN 201380060646 A CN201380060646 A CN 201380060646A CN 104798053 A CN104798053 A CN 104798053A
Authority
CN
China
Prior art keywords
instruction
page
processor
safety zone
designator
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.)
Granted
Application number
CN201380060646.2A
Other languages
English (en)
Other versions
CN104798053B (zh
Inventor
R·勒斯列-赫德
C·V·罗扎斯
V·R·斯卡拉塔
S·P·约翰逊
U·R·萨瓦高恩卡
B·E·亨特利
V·尚伯格
I·安奈蒂
F·X·麦克金
M·A·戈德史密斯
I·埃里克山德洛维奇
A·贝伦宗
W·H·史密斯
G·尼格
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
Priority to CN201810253120.0A priority Critical patent/CN108710585A/zh
Publication of CN104798053A publication Critical patent/CN104798053A/zh
Application granted granted Critical
Publication of CN104798053B publication Critical patent/CN104798053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • 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/30047Prefetch instructions; cache control instructions
    • 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/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

公开了用于安全区域内的存储器管理的本发明的实施例。在一个实施例中,处理器包括指令单元和执行单元。该指令单元用于接收第一指令和第二指令。该执行单元用于执行该第一指令,其中该第一指令的执行包括将区域页高速缓存中的页分配给安全区域。该执行单元还用于执行该第二指令,其中该第二指令的执行包括确认该页的分配。

Description

安全区域内的存储器管理
背景
领域
本公开涉及信息处理领域,并且更具体地涉及信息处理系统内的安全性领域。
相关技术描述
机密信息由许多信息处理系统存储、传输和使用。因此,已经开发了提供机密信息的安全处理和存储的技术。这些技术包括用于在信息处理系统内创建和维护安全、受保护或隔离分区或环境的各种方法。
附图简要说明
通过举例而非限制在附图中示出本发明。
图1示出根据本发明的实施例的包括安全区域内的存储器管理的系统。
图2示出根据本发明的实施例的安全区域单元。
图3示出根据本发明实施例的用于安全区域内的存储器管理的方法。
详细描述
描述了用于安全区域(secure enclave)内的存储器管理的本发明的实施例。在本描述中,可列出众多特定细节(诸如组件和系统配置),以便提供对本发明的更透彻理解。然而,本领域普通技术人员将认识到可在没有这些特定细节的情况下实践本发明。此外,未详细示出某些公知的结构、电路等等,以便避免不必要地混淆本发明。
在以下描述中,对“一个实施例”、“实施例”、“示例实施例”、“各实施例”等等的引用指示如此描述的本发明的实施例(多个)可包括具体特征、结构、或特性,然而多个实施例可以包括但不是每个实施例都需要包括该具体特征、结构、或特性。进一步地,某些实施例可具有针对其他实施例所描述的特征中的某些、全部或没有。
如在权利要求书中所使用的,除非以其他方式指明,用于描述元件的顺序形容词“第一”、“第二”、“第三”等等的使用仅指示元件的具体实例或者类似元件的不同实例并且不旨在暗示这些如此描述的元件必须按特定顺序(或者按时间、按空间排序或者以任何其他方式)。
而且,术语“位”、“标志”、“字段”、“条目”等等可用于描述寄存器、表格、数据库或其他数据结构中的任何类型的存储位置,不管是用硬件还是用软件实现,但并不旨在将本发明的实施例限制为任何特定存储位置中的任何特定类型的存储位置或任何数量的位或其他元素。术语“清零”可用于指示存储逻辑值零或者以其他方式致使将其存储在存储位置中,并且术语“置位”可用于指示存储逻辑值1、全1或某种其他指定值或以其他方式致使将其存储在存储位置中;然而,这些术语不旨在将本发明的实施例限制为任何特定的逻辑惯例,因为可在本发明的实施例中使用任何逻辑惯例。
如在背景部分中所描述的,已经开发了用于在信息处理系统内创建和维护安全、受保护或隔离分区或环境的各种方法。一种这种方法涉及如在于2012年6月19日提交的序列号为13/527,547标题为“提供安全应用执行的方法和装置”的共同未决的美国专利申请所描述的安全区域,该申请通过饮用作为安全区域的至少一个实施例的示例并入在此。然而,并入的引用不旨在以任何方式限制本发明的实施例的范围并且可使用其他实施例同时仍保留在本发明的精神和范围内。
图1示出系统100,即根据本发明的实施例的包括安全区域内的分页的信息处理系统。系统100可表示任何类型的信息处理系统,诸如服务器、桌上计算机、便携式计算机、机顶盒、手持式设备、或嵌入式控制系统。系统100包括处理器110、存储器120、以及信息存储设备130。体现本发明的系统可包括任何数量的这些组件中的每一个组件以及任何其他组件或其他元件,诸如信息存储设备、外围设备和输入/输出设备。本系统实施例或任何系统实施例中的任何或全部组件或其他元件可通过任何数量的总线、点到点、或其他有线或无线接口或连接而连接、耦合、或以其他方式与彼此通信。
系统存储器120可以是动态随机存取存储器或者处理器110可读的任何其他类型的介质。信息存储设备130可包括任何类型的永久或非易失性存储器或存储设备,诸如闪存和/或固态驱动、磁驱动或光盘驱动。
处理器110可表示集成在单个衬底上或者封装在单个封装中的一个或多个处理器,每个处理器可包括呈任何组合的多个线程和/或多个执行核。被表示为处理器110的每个处理器可以是任何类型的处理器,包括通用处理器,诸如处理器族、处理器族中的处理器、或来自公司的其他处理器族或来自另一家公司的另一个处理器或专用处理器或微控制器。处理器110可包括指令单元111、执行单元112、处理存储设备113、接口单元114、处理器控制单元115、高速缓存单元116以及安全区域单元117。处理器110还可包括未在图1中示出的任何其他电路、结构、或逻辑,和/或在图1中的其他地方示出或描述的任何电路、结构、或逻辑。
指令单元111可表示用于取出、接收、解码、和/或调度指令的任何电路、结构或其他硬件,诸如指令解码器。可在本发明的范围内使用任何指令格式;例如,指令可包括操作码和一个或多个操作数,其中该操作码可被解码为一个或多个微指令或微操作以便由执行单元112执行。
执行单元112可包括用于处理数据并执行指令、微指令、和/或微操作的任何电路、结构、或其他硬件,诸如算术单元、逻辑单元、浮点单元、移位器等等。
处理存储单元113可表示可用于处理器110内的任何目的的任何类型的存储设备,例如,其可包括任何数量的数据寄存器、指令寄存器、状态寄存器、配置寄存器、控制寄存器、其他可编程或硬编码寄存器或寄存器组、或任何其他存储结构。
接口单元114可表示任何电路、结构、或其他硬件(诸如总线单元、消息传送单元、或任何其他单元、端口、或接口),以便允许处理器110通过任何类型的总线、点到点、或其他连接直接或通过任何其他组件(诸如存储器控制器或总线桥)与系统100内的其他组件通信。
处理器控制单元115可包括任何逻辑、微代码、电路、或其他硬件以便控制处理器110的这些单元和其他元件的操作以及在处理器110之内、向内、以及向外的数据传送。处理器控制单元115可通过致使处理器110执行由指令单元111接收的指令和从由指令单元111接收的指令导出的微指令或微操作来致使处理器110执行或参与执行本发明的方法实施例,诸如以下描述的方法实施例。
高速缓存单元116可表示信息处理系统110的存储器层次内的用静态随机存取存储器或任何其他存储器技术实现的一个或多个高速缓存存储器级别。高速缓存单元116可包括根据用于信息处理系统内的高速缓存的任何已知的方法专用于或者在处理器110内的任何一个或多个执行核或处理器之间共享的高速缓存存储器的任何组合。
安全区域单元117可表示用于创建和维护安全、受保护或隔离环境的任何逻辑、电路、硬件或其他结构,该环境诸如在此描述的安全区域,应用或其他软件可在该安全区域内运行、执行、加载或以其他方式在信息处理系统(诸如系统100)中存在。出于本描述的目的,这种环境的每个实例可被称为安全区域,尽管本发明的实施例不限于在一个实施例中将安全区域用作安全、受保护或隔离环境的那些实施例,可使用处理器族或来自英特尔公司的其他处理器族的处理器的指令集内的指令创建并维护安全区域。
图2示出安全区域单元200,其实施例可用作系统100内的安全区域单元117。安全区域单元200的全部或部分可被包括在处理器110的任何一个或多个其他单元内,诸如指令单元111、执行单元112、处理器存储设备113、处理器控制单元115和高速缓存单元116。
安全区域单元200可包括加密单元210,该加密单元可包括用于执行任何一个或多个加密算法和相应的解密算法的任何逻辑、电路或其他硬件并且可包括与处理器110内的另一个加密单元共享的逻辑、电路或其他硬件。
安全区域单元200还可包括区域页高速缓存(EPC)220。在一个实施例中,EPC 220可以是高速缓存单元116的专用部分,诸如末级高速缓存的部分。其他实施例是可能的,包括其中EPC 220的全部或部分可位于处理器110外部的实施例。EPC 220可用于为一个或多个安全区域存储未经加密的代码和数据。访问控制逻辑214、范围寄存器216和EPC映射(EPCM)240可用于防止访问EPC 220内的页,除非由该页所分配给的安全区域内在处理器110上运行的应用访问。
安全区域单元200还可包括EPC存储器管理单元(MMU)230。EPCMMU 230可包括提供根据本发明的实施例用于管理EPC 220的存储器空间的任何逻辑、电路或其他硬件。EPC MMU单元230可包括用于解码和执行EADD指令231、EAUG指令232、EMOD指令233、EACCEPT指令234和EREMOVE指令235的微代码、逻辑、电路和/或其他硬件。这些指令可由操作系统和/或其他软件用于动态地增加和减小EPC 220内的分配给一个或多个安全区域的存储器空间的尺寸。
EADD指令231是可由操作系统用来将EPC 220内的页分配给安全区域的特权指令。不像使用EAUG指令232分配页,使用EADD指令231分配页不涉及安全区域使用EACCEPT指令234接受分配。换言之,EPC 220内的页的状态可直接从无效(INVALID)变为有效(VALID)而不经历未决(PENDING)状态,如以下结合EAUG指令232的使用所描述的。
EAUG指令232是可由操作系统用来将EPC 220内的未测量的归零的页分配给现有安全区域的特权指令。EAUG指令232的执行致使页从VALID状态变为PENDING状态,如以下进一步描述的。
EMOD指令233是可由操作系统用来修改与在EPC 220中的先前分配的页相关联的访问权限或类型的特权指令。例如,EMOD指令233可用于为EPC 230内的页给予PT_TRIM页类型以便表明该页不能被再次访问或修改。EMOD指令233的执行致使页从VALID状态变为修改(MODIFIED)状态,如以下进一步描述的。
EACCEPT指令234是可由安全区域内部的应用用来确认对EPC 220中的页的访问权限或类型做出的改变的非特权指令。EACCEPT指令234的执行致使页从PENDING状态或MODIFIED状态变为VALID状态,如以下进一步描述的。
EREMOVE指令235是可由操作系统用来将EPC 220内的页从安全区域解除分配的特权指令。
安全区域不能访问新的经分配或经修改的页,直到使用EACCEPT指令233接收这些改变。使用在EPCM 240中页的条目中的PENDING位242和MODIFIED位244强制执行对页的改变以及接受对页的改变。PENDING位242通过EAUG指令231的执行置位并且由EACCEPT指令233的执行清零。当PENDING位242置位时,该页处于PENDING状态下,不能由区域访问并且不能由操作系统再次修改。MODIFIED位244通过EMOD指令232的执行置位并且由EACCEPT指令233的执行清零。当MODIFIED位242置位时,该页处于MODIFIED状态下,不能由区域访问并且不能由操作系统再次修改。
EACCEPT指令233的使用确保操作系统不能对安全区域做出未经批准的改变。因此,针对安全区域对存储器的所有改变可在安全区域内的所测量代码中具有信任基础,并且安全区域内的数据的完整性可得到保护。例如,安全区域自身而不是操作系统负责防止线性地址重叠。
此外,EPC MMU 230可包括状态机或其他逻辑以便确保区域不能通过不遵循存储器管理协议而导致操作系统故障。因此,操作系统的操作可独立于在安全区域内运行的应用。例如,状态机可被设计为用于在不可避免的情况下返回错误而不是发生故障。
图3示出根据本发明实施例的用于安全区域内的存储器管理的方法300。尽管本发明的方法实施例在此方面不受限制,可参考图1和图2的元素以便帮助描述图3的方法实施例。
在框310中,例如可由操作系统使用ECREATE指令开始安全区域创建。在框312中,例如可由操作系统使用EADD指令231为安全区域分配EPC 220内的页,包括页222。在框314中,例如可由操作系统使用EINIT指令发起安全区域。在框316中,应用可例如通过使用EENTER指令进入安全区域。
在框330中,安全区域内的应用可确定其需要EPC 220内的更多存储器页。在框322中,应用可从操作系统请求EPC 220中的更多存储器页。在框324中,操作系统可使用EAUG指令232来为安全区域分配页(例如,页222)。在框326中,置位EPCM 240内的页条目内的PENDING位242。
在框330中,安全区域内的应用可使用EACCEPT指令234来确认该分配。在框332中,EPCM 240内的页条目内的PENDING位242被清零。在框334中,该页可由安全区域内的应用使用,例如用于存储数据。
在框340中,安全区域内的应用可确定其不再需要EPC 220内的页(例如,页222)。在框342中,应用可请求操作系统将该页释放。在框344中,操作系统可使用EMOD指令233来例如通过将该页的页类型改变为PT_TRIM来从该区域的工作页集合修剪该页。在框346中,置位EPCM 240内的页条目内的MODIFIED位244。
在框350中,安全区域内的应用可使用EACCEPT指令234来确认该修改。在框352中,EPCM 240内的页条目内的MODIFIED位244被清零。
在本发明的各实施例中,可用不同的顺序执行在图3中示出的方法,组合或省略所展示的框、添加附加的框、或者重新排序、组合、省略、或者附加框的组合。此外,许多其他方法实施例在本发明的范围内是可能的。
如以上所描述的,本发明的实施例的各实施例或各部分可存储在任何形式的机器可读介质上。例如,方法300的全部或部分可体现在存储在处理器110可读的介质上的软件或固件指令中,当由处理器110执行时,这些指令导致处理器110执行本发明的实施例。同样,本发明的各方面可体现在存储在机器可读介质上的数据中,其中,该数据表示可用于促成处理器110的全部或部分的设计或其他信息。
因此,已经描述了用于安全区域内的存储器管理的本发明的实施例。尽管已经描述了并且在附图中展示了某些实施例,应当理解的是这种实施例仅仅展示而非限制宽泛的发明,并且本发明不应被限制为所展示和描述的特定的构造和安排,因为当学习本公开时,本领域普通技术人员将认识到各种其他修改。在诸如这种技术领域中,其中成长很快并且不能轻易地预见进一步的进步,可在不背离本公开的原理或所附权利要求书的范围的情况下容易地对所公开的实施例做出安排和细节上的修改,正如通过使能技术进步所促进的。

Claims (20)

1.一种处理器,包括:
指令单元,用于接收第一指令和第二指令;
执行单元,用于执行所述第一指令,其中所述第一指令的执行包括将区域页高速缓存内的第一页分配给安全区域并且所述第二指令的执行包括确认所述第一页的分配。
2.如权利要求1所述的处理器,其中,所述第一指令的执行还包括置位在区域页高速缓存映射内用于所述第一页的条目中的未决指示符。
3.如权利要求2所述的处理器,其中,所述第二指令的执行还包括将所述未决指示符清零。
4.如权利要求3所述的处理器,其中,所述指令单元还用于接收第三指令并且所述执行单元还用于执行所述第三指令,其中所述第三指令的执行包括将所述区域页高速缓存中的第二页从所述安全区域解除分配。
5.如权利要求4所述的处理器,其中,所述第二指令的执行还包括确认所述第二页的解除分配。
6.如权利要求5所述的处理器,其中,所述第三指令的执行还包括置位在所述区域页高速缓存映射内用于所述第二页的条目中的修改指示符。
7.如权利要求6所述的处理器,其中,所述第二指令的执行还包括将所述修改指示符清零。
8.如权利要求2所述的处理器,其中,在所述未决指示符被置位时所述安全区域不可访问所述第一页。
9.如权利要求8所述的处理器,其中,在所述修改指示符被置位时所述第二页是不可修改的。
10.一种方法,包括:
从安全区域接收对区域页高速缓存内的更多存储器空间的第一请求;
从操作系统接收第一指令;以及
响应于接收所述第一指令,将所述区域页高速缓存内的第一页分配给所述安全区域。
11.如权利要求10所述的方法,进一步包括:
从所述安全区域接收第二指令;以及
响应于接收所述第二指令,确认所述第一页的分配。
12.如权利要求11所述的方法,进一步包括响应于接收所述第一指令,置位在区域页高速缓存映射内用于所述第一页的条目中的未决指示符。
13.如权利要求12所述的方法,进一步包括响应于接收所述第二指令,将所述未决指示符清零。
14.如权利要求10所述的方法,进一步包括:
从安全区域接收将所述区域页高速缓存内的第二页解除分配的第二请求;
从所述操作系统接收第三指令;以及
响应于接收所述第三指令,将所述第二页解除分配。
15.如权利要求14所述的方法,进一步包括:
从所述安全区域接收第二指令;以及
响应于接收所述第二指令,确认所述第二页的解除分配。
16.如权利要求15所述的方法,进一步包括响应于接收所述第三指令,置位在所述区域页高速缓存映射内用于所述第二页的条目中的修改指示符。
17.如权利要求16所述的方法,进一步包括响应于接收所述第二指令,将所述修改指示符清零。
18.如权利要求13所述的方法,其中,在所述未决指示符被置位时所述安全区域不可访问所述第一页。
19.如权利要求17所述的方法,其中,在所述修改指示符被置位时所述第二页是不可修改的。
20.一种系统,包括:
存储器;以及
处理器,包括:
指令单元,用于接收第一指令和第二指令;以及
执行单元,用于执行所述第一指令,其中所述第一指令的执行包括将区域页速缓存内的第一页分配给安全区域并且所述第二指令的执行包括确认所述第一页的分配。
CN201380060646.2A 2012-12-28 2013-06-24 安全区域内的存储器管理 Active CN104798053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810253120.0A CN108710585A (zh) 2012-12-28 2013-06-24 安全区域内的存储器管理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/729,371 US9747102B2 (en) 2012-12-28 2012-12-28 Memory management in secure enclaves
US13/729,371 2012-12-28
PCT/US2013/047339 WO2014105161A1 (en) 2012-12-28 2013-06-24 Memory management in secure enclaves

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810253120.0A Division CN108710585A (zh) 2012-12-28 2013-06-24 安全区域内的存储器管理

Publications (2)

Publication Number Publication Date
CN104798053A true CN104798053A (zh) 2015-07-22
CN104798053B CN104798053B (zh) 2018-04-24

Family

ID=51018703

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380060646.2A Active CN104798053B (zh) 2012-12-28 2013-06-24 安全区域内的存储器管理
CN201810253120.0A Pending CN108710585A (zh) 2012-12-28 2013-06-24 安全区域内的存储器管理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810253120.0A Pending CN108710585A (zh) 2012-12-28 2013-06-24 安全区域内的存储器管理

Country Status (3)

Country Link
US (4) US9747102B2 (zh)
CN (2) CN104798053B (zh)
WO (1) WO2014105161A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334400A (zh) * 2017-01-18 2018-07-27 英特尔公司 为安全飞地管理存储器
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法

Families Citing this family (18)

* 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
US9053042B2 (en) * 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
US9747102B2 (en) 2012-12-28 2017-08-29 Intel Corporation Memory management in secure enclaves
US9864861B2 (en) * 2014-03-27 2018-01-09 Intel Corporation Object oriented marshaling scheme for calls to a secure region
US20160085695A1 (en) * 2014-09-24 2016-03-24 Intel Corporation Memory initialization in a protected region
US9710622B2 (en) * 2015-02-23 2017-07-18 Intel Corporation Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache
US9875189B2 (en) 2015-06-12 2018-01-23 Intel Corporation Supporting secure memory intent
US9710401B2 (en) 2015-06-26 2017-07-18 Intel Corporation Processors, methods, systems, and instructions to support live migration of protected containers
US10416890B2 (en) * 2015-09-09 2019-09-17 Intel Corporation Application execution enclave memory page cache management method and apparatus
US10664179B2 (en) 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
US10354095B2 (en) * 2016-03-31 2019-07-16 Intel Corporation Methods and apparatus to initialize enclaves on target processors
US10346641B2 (en) 2016-09-23 2019-07-09 Intel Corporation Processors, methods, systems, and instructions to determine whether to load encrypted copies of protected container pages into protected container memory
WO2019212580A1 (en) 2018-04-30 2019-11-07 Google Llc Enclave interactions
WO2019212579A1 (en) 2018-04-30 2019-11-07 Google Llc Managing enclave creation through a uniform enclave interface
US11921905B2 (en) 2018-04-30 2024-03-05 Google Llc Secure collaboration between processors and processing accelerators in enclaves
CN110998575B (zh) * 2019-04-19 2024-04-16 创新先进技术有限公司 在支持受保护执行环境的处理器上执行可信应用的方法和设备
US11720495B2 (en) 2019-05-24 2023-08-08 Texas Instmments Incorporated Multi-level cache security
CN113139175A (zh) * 2020-01-19 2021-07-20 阿里巴巴集团控股有限公司 处理单元、电子设备以及安全控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677922A (zh) * 2003-11-10 2005-10-05 美国博通公司 保密可执行编码的系统和方法
US20070277223A1 (en) * 2006-05-26 2007-11-29 Datta Shamanna M Execution of a secured environment initialization instruction on a point-to-point interconnect system
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置
US20120159184A1 (en) * 2010-12-17 2012-06-21 Johnson Simon P Technique for Supporting Multiple Secure Enclaves

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012508938A (ja) * 2008-11-14 2012-04-12 インテル・コーポレーション セキュアなアプリケーション実行方法および装置
US9141859B2 (en) 2008-11-17 2015-09-22 Liveclips Llc Method and system for segmenting and transmitting on-demand live-action video in real-time
US8832452B2 (en) 2010-12-22 2014-09-09 Intel Corporation System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves
US9747102B2 (en) 2012-12-28 2017-08-29 Intel Corporation Memory management in secure enclaves

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677922A (zh) * 2003-11-10 2005-10-05 美国博通公司 保密可执行编码的系统和方法
US20070277223A1 (en) * 2006-05-26 2007-11-29 Datta Shamanna M Execution of a secured environment initialization instruction on a point-to-point interconnect system
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置
US20120159184A1 (en) * 2010-12-17 2012-06-21 Johnson Simon P Technique for Supporting Multiple Secure Enclaves

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334400A (zh) * 2017-01-18 2018-07-27 英特尔公司 为安全飞地管理存储器
CN108334400B (zh) * 2017-01-18 2024-01-12 英特尔公司 为安全飞地管理存储器
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法

Also Published As

Publication number Publication date
CN108710585A (zh) 2018-10-26
US20170351515A1 (en) 2017-12-07
US20140189326A1 (en) 2014-07-03
CN104798053B (zh) 2018-04-24
US20160202976A1 (en) 2016-07-14
WO2014105161A1 (en) 2014-07-03
US20180329707A1 (en) 2018-11-15
US9766889B2 (en) 2017-09-19
US10409597B2 (en) 2019-09-10
US9747102B2 (en) 2017-08-29
US9990197B2 (en) 2018-06-05

Similar Documents

Publication Publication Date Title
CN104798053A (zh) 安全区域内的存储器管理
CN104813295A (zh) 安全区域内的日志记录
CN104798054A (zh) 安全区域内的分页
TWI705353B (zh) 用於容許安全通訊之積體電路、方法及製造物件
CN104881596A (zh) 在安全处理环境中修改存储器权限
CN104813330A (zh) 在运行时测量在安全区域内加载的应用
CN103080912A (zh) 用于微处理器系统的存储器管理单元、微处理器系统及管理存储器的方法
CN104025041A (zh) 管理员模式执行保护
EP2889778B1 (en) Shared memory in a secure processing environment
CN104951296A (zh) 允许一种架构的代码模块使用另一种架构的库模块的架构间兼容模块
CN104484284A (zh) 用于为安全飞地页面高速缓存提供高级分页能力的指令和逻辑
US11593277B2 (en) Method of secure memory addressing
CN105339912A (zh) 测量安全区域
CN114692176A (zh) 基于已编码指针的数据加密
CN104866762A (zh) 安全管理程序功能
CN104756132A (zh) 虚拟化硬件单调计数器
US10999284B2 (en) Protecting supervisor mode information
CN107533515A (zh) 阻止存储器溢出攻击的精细粒度存储器保护

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant