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

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

Info

Publication number
CN104798053B
CN104798053B CN201380060646.2A CN201380060646A CN104798053B CN 104798053 B CN104798053 B CN 104798053B CN 201380060646 A CN201380060646 A CN 201380060646A CN 104798053 B CN104798053 B CN 104798053B
Authority
CN
China
Prior art keywords
page
instruction
safety zone
designator
execution
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.)
Active
Application number
CN201380060646.2A
Other languages
English (en)
Other versions
CN104798053A (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。EPC MMU 230可包括提供根据本发明的实施例用于管理EPC 220的存储器空间的任何逻辑、电路或其他硬件。EPCMMU单元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指令进入安全区域。
在框320中,安全区域内的应用可确定其需要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 (14)

1.一种处理器,包括:
指令单元,用于接收第一指令、第二指令和第三指令;
执行单元,用于执行所述第一指令,其中
所述第一指令的执行包括将区域页高速缓存内的第一页分配给安全区域,
所述第二指令的执行结合所述第一指令的执行包括确认所述第一页的分配,
所述第三指令的执行包括将所述区域页高速缓存中的所述第一页从所述安全区域解除分配,并置位在所述区域页高速缓存映射内用于所述第一页的条目中的修改指示符,其中,在所述修改指示符被置位时所述第一页是不可修改的,并且
所述第二指令的执行结合所述第三指令的执行包括确认所述第一页的解除分配并将所述修改指示符清零。
2.如权利要求1所述的处理器,其中,所述第一指令的执行还包括置位在区域页高速缓存映射内用于所述第一页的条目中的未决指示符。
3.如权利要求2所述的处理器,其中,所述第二指令的执行还包括将所述未决指示符清零。
4.如权利要求2所述的处理器,其中,在所述未决指示符被置位时所述安全区域不可访问所述第一页。
5.一种用于信息处理的方法,包括:
从安全区域接收对区域页高速缓存内的更多存储器空间的第一请求;
从操作系统接收第一指令;
响应于接收所述第一指令,将所述区域页高速缓存内的第一页分配给所述安全区域;
结合执行所述第一指令,从所述安全区域接收第二指令;
响应于接收所述第二指令,确认所述第一页的分配;
从所述安全区域接收将所述区域页高速缓存内的第一页解除分配的第二请求;
从所述操作系统接收第三指令;
响应于接收所述第三指令,解除分配所述第一页,并且置位在所述区域页高速缓存映射内用于所述第一页的条目中的修改指示符,其中,在所述修改指示符被置位时所述第一页是不可修改的;
结合执行所述第三指令,从所述安全区域接收所述第二指令;以及
响应于接收所述第二指令,确认所述第一页的解除分配并将所述修改指示符清零。
6.如权利要求5所述的方法,进一步包括响应于接收所述第一指令,置位在区域页高速缓存映射内用于所述第一页的条目中的未决指示符。
7.如权利要求6所述的方法,进一步包括响应于接收所述第二指令,将所述未决指示符清零。
8.如权利要求7所述的方法,其中,在所述未决指示符被置位时所述安全区域不可访问所述第一页。
9.一种用于信息处理的系统,包括:
存储器;以及
处理器,包括:
指令单元,用于接收第一指令、第二指令和第三指令;以及
执行单元,用于执行所述第一指令,其中
所述第一指令的执行包括将区域页速缓存内的第一页分配给安全区域,
所述第二指令的执行结合所述第一指令的执行包括确认所述第一页的分配,
所述第三指令的执行包括将所述区域页高速缓存中的所述第一页从所述安全区域解除分配,并置位在所述区域页高速缓存映射内用于所述第一页的条目中的修改指示符,其中,在所述修改指示符被置位时所述第一页是不可修改的,并且
所述第二指令的执行结合所述第三指令的执行包括确认所述第一页的解除分配并将所述修改指示符清零。
10.一种机器可读介质,包括存储在所述机器可读介质上的代码,响应于所述代码被执行导致计算设备执行如权利要求5-8中任一项所述的方法。
11.一种用于信息处理的设备,包括:
用于从安全区域接收对区域页高速缓存内的更多存储器空间的第一请求的装置;
用于从操作系统接收第一指令的装置;
用于响应于接收所述第一指令而将所述区域页高速缓存内的第一页分配给所述安全区域的装置;
用于结合执行所述第一指令而从所述安全区域接收第二指令的装置;
用于响应于接收所述第二指令而确认所述第一页的分配的装置;
用于从所述安全区域接收将所述区域页高速缓存内的第一页解除分配的第二请求的装置;
用于从所述操作系统接收第三指令的装置;
用于响应于接收所述第三指令而解除分配所述第一页并且置位在所述区域页高速缓存映射内用于所述第一页的条目中的修改指示符的装置,其中,在所述修改指示符被置位时所述第一页是不可修改的;
用于结合执行所述第三指令而从所述安全区域接收所述第二指令的装置;以及
用于响应于接收所述第二指令而确认所述第一页的解除分配并将所述修改指示符清零的装置。
12.如权利要求11所述的设备,进一步包括用于响应于接收所述第一指令而置位在区域页高速缓存映射内用于所述第一页的条目中的未决指示符的装置。
13.如权利要求12所述的设备,进一步包括用于响应于接收所述第二指令而将所述未决指示符清零的装置。
14.如权利要求13所述的设备,其中,在所述未决指示符被置位时所述安全区域不可访问所述第一页。
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 CN104798053A (zh) 2015-07-22
CN104798053B true CN104798053B (zh) 2018-04-24

Family

ID=51018703

Family Applications (2)

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

Family Applications Before (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) CN108710585A (zh)
WO (1) WO2014105161A1 (zh)

Families Citing this family (20)

* 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
US10120805B2 (en) * 2017-01-18 2018-11-06 Intel Corporation Managing memory for secure enclaves
CN107392011B (zh) * 2017-08-22 2019-11-22 海光信息技术有限公司 一种内存页转移方法
EP4155996A1 (en) 2018-04-30 2023-03-29 Google LLC Enclave interactions
US11494485B2 (en) 2018-04-30 2022-11-08 Google Llc Uniform enclave interface
CN112005237B (zh) 2018-04-30 2024-04-30 谷歌有限责任公司 安全区中的处理器与处理加速器之间的安全协作
ES2870823T3 (es) * 2019-04-19 2021-10-27 Advanced New Technologies Co Ltd Métodos y dispositivos para ejecutar aplicaciones confiables en un procesador que admite entornos de ejecución protegidos
US11720495B2 (en) * 2019-05-24 2023-08-08 Texas Instmments Incorporated Multi-level cache security
CN113139175A (zh) * 2020-01-19 2021-07-20 阿里巴巴集团控股有限公司 处理单元、电子设备以及安全控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677922A (zh) * 2003-11-10 2005-10-05 美国博通公司 保密可执行编码的系统和方法
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973094B2 (en) 2006-05-26 2015-03-03 Intel Corporation Execution of a secured environment initialization instruction on a point-to-point interconnect system
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
US8972746B2 (en) 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677922A (zh) * 2003-11-10 2005-10-05 美国博通公司 保密可执行编码的系统和方法
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104798053B (zh) 安全区域内的存储器管理
CN104813295B (zh) 安全区域内的日志记录
CN104798054B (zh) 安全区域内的分页
US10642744B2 (en) Memory type which is cacheable yet inaccessible by speculative instructions
CN104881596A (zh) 在安全处理环境中修改存储器权限
CN114692176A (zh) 基于已编码指针的数据加密
CN104813330A (zh) 在运行时测量在安全区域内加载的应用
CN104025041B (zh) 管理员模式执行保护
CN106062708A (zh) 在具有地址空间布局随机化的系统中的二进制转化重用
CN105339912A (zh) 测量安全区域
EP2889778B1 (en) Shared memory in a secure processing environment
CN110036377B (zh) 可缓存的但不可通过推测指令访问的内存类型
KR102533823B1 (ko) 자격과 관련된 허가들을 해석하는 장치 및 방법
US10970401B2 (en) Secure asset management system
JP6944444B2 (ja) メモリアクセス命令
US20190129864A1 (en) Capability enforcement controller
JP2014059741A (ja) マイコン

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