Abstract:
Embodiments of apparatuses and methods including virtual address memory range registers are disclosed. In one embodiment, a processor includes a memory interface, address translation hardware, and virtual memory address comparison hardware. The memory interface is to access a system memory using a physical memory address. The address translation hardware is to support translation of a virtual memory address to the physical memory address. The virtual memory address is used by software to access a virtual memory location in the virtual memory address space of the processor. The virtual memory address comparison hardware is to determine whether the virtual memory address is within a virtual memory address range.
Abstract:
The present invention provides a method, apparatus, and system for controlling memory accesses to multiple isolated memory areas in an isolated execution environment. A page manager is used to distribute a plurality of pages to a plurality of different areas of a memory, respectively. The memory is divided into non-isolated areas and isolated areas. The page manager is located in an isolated area of memory. Further, a memory ownership page table describes each page of memory and is also located in an isolated area of memory. The page manager assigns an isolated attribute to a page if the page is distributed to an isolated are of memory. On the other hand, the page manager assigns a non-isolated attribute to a page if the page is distributed to a non-isolated area of memory. The memory ownership page table records the attribute for each page. In one embodiment, a processor having a normal execution mode and an isolated execution mode generates an access transaction. The access transaction is configured using a configuration storage that contains configuration settings related to a page and access information. An access checking circuit coupled to the configuration settings and the access information and generates an access grant signal if the access transaction is valid.
Abstract:
A processor has multiple hardware threads and an enclave page cache. The processor has a first instruction to prevent new address translations being created. This instruction takes the address of a page in a secure enclave as a as a parameter. It prevents new entries being made in a translation look-aside buffer for that page. The processor has a second instruction to record the threads accessing an enclave. This instruction specifies the enclave identifier as a parameter and records the number of hardware threads accessing the enclave. The number is decremented whenever a thread exits the enclave. The processor has a third instruction to evict a page from an enclave page cache. The instruction takes the page address to evict as a parameter. It writes the page back to memory if the number of threads accessing the enclave is zero.
Abstract:
An approach for providing Subscriber Identity Module (SIM) capabilities in an open platform without the need for a discrete, physical SIM device. For one aspect, a computing system provides for secure provisioning of SIM data and algorithms, for example, protected storage of SIM secret data objects, and protected execution of SIM algorithms that provide for Authentication, Authorization and Accounting (AAA) capabilities currently associated with discrete hardware SIM devices.
Abstract:
Embodiments of an invention for maintaining a secure processing environment across power cycles are disclosed. In one embodiment, a processor includes an instruction unit and an execution unit. The instruction unit is to receive an instruction to evict a root version array page entry from a secure cache. The execution unit is to execute the instruction. Execution of the instruction includes generating a blob to contain information to maintain a secure processing environment across a power cycle and storing the blob in a non-volatile memory.
Abstract:
Un procesador (200) que comprende: una unidad de instrucción (214) para recibir una primera instrucción, en donde la primera instrucción es inicializar un enclave seguro, y en donde la primera instrucción también incluye establecer un bit de atributo específico de funcionalidad para el enclave seguro; y una unidad de ejecución (270) para ejecutar la primera instrucción, en donde la ejecución de la primera instrucción incluye verificar que una clave de estructura de firma coincida con una clave digital (216) incorporada en el procesador para permitir que el software que se ejecuta dentro del enclave seguro utilice software o hardware para realizar una función fuera del enclave seguro; y en donde la unidad de instrucción (214) sirve también para recibir una segunda instrucción desde dentro del enclave seguro, y la unidad de ejecución (270) sirve para ejecutar la segunda instrucción, en donde la ejecución de la segunda instrucción incluye proporcionar una clave específica de funcionalidad si se activa el bit de atributo específico de funcionalidad.
Abstract:
Eine sichere Enklavenschaltung speichert eine Enklave-Page-Cache-Map, um Inhalte einer sicheren Enklave in Systemspeicher zu verfolgen, der sichere Daten speichert, die eine Seite mit einer virtuellen Adresse umfassen. Eine Ausführungseinheit soll, als Reaktion auf eine Anforderung, die Seite von der sicheren Enklave zu räumen: die Erzeugung von Übersetzungen der virtuellen Adresse blocken; einen oder mehrere aktuell auf die sicheren Daten in der sicheren Enklave zugreifende Hardware-Threads aufzeichnen; einen Inter-Processor-Interrupt an einen oder mehrere dem einen oder den mehreren Hardware-Threads zugeordnete Kerne senden, um den einen oder die mehreren Hardware-Threads dazu zu veranlassen, die sichere Enklave zu verlassen und Translation-Lookaside-Buffer des einen oder der mehreren Kerne zu leeren; und als Reaktion auf das Erkennen eines der virtuellen Adresse für die Seite in der sicheren Enklave zugeordneten Seitenfehlers, die Erzeugung von Übersetzungen der virtuellen Adresse freigeben.
Abstract:
In one embodiment, the present invention provides for extended memory protection for memory of a system. The embodiment includes a method for associating a protection indicator of a protection record maintained outside of an application's data space with a memory location, and preventing access to the memory location based on the status of the protection indicator. In such manner, more secure operation is provided, as malicious code or other malware is prevented from accessing protected memory locations. Other embodiments are described and claimed.