Lightweight trusted tasks

US10671547B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10671547-B2
Application numberUS-201615384267-A
CountryUS
Kind codeB2
Filing dateDec 19, 2016
Priority dateDec 19, 2016
Publication dateJun 2, 2020
Grant dateJun 2, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus relating to lightweight trusted tasks are disclosed. In one embodiment, a processor includes a memory interface to a memory to store code, data, and stack segments for a lightweight-trusted task (LTT) mode task and for another task, a LTT control and status register including a lock bit, a processor core to enable LTT-mode, configure the LTT-mode task, and lock down the configuration by writing the lock bit, and a memory protection circuit to: receive a memory access request from the memory interface, the memory access request being associated with the other task, determine whether the memory access request is attempting to access a protected memory region of the LTT-mode task, and protect against the memory access request accessing the protected memory region of the LTT-mode task, regardless of a privilege level of the other task, and regardless of whether the other task is also a LTT-mode task.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a memory interface to a memory to store code, data, and stack segments for at least one lightweight-trusted mode task (LTT-mode task) and another task; a LTT control and status register comprising a readable/writeable lock bit to lock down a configuration of the at least one LTT-mode task; a processor core to enable LTT-mode, configure the at least one LTT-mode task, and lock down the configuration of the at least one LTT-mode task by writing the lock bit; and a memory protection circuit to: receive at least one memory access request from the memory interface, the at least one memory access request being associated with the other task; determine whether the at least one memory access request from the other task is attempting to access a protected memory region associated with the at least one LTT-mode task; and protect against the at least one memory access request from the other task accessing the protected memory region of the at least one LTT-mode task, regardless of a privilege level of the other task, and regardless of whether the other task is also a LTT-mode task, the protected memory region comprising code, data, and stack segments, a local descriptor table, and a task state segment (TSS) associated with the LTT-mode task; and wherein the memory protection circuit is to continue protecting against any received memory access requests from the other task accessing the protected memory region until an occurrence of a deactivation event comprising one of a machine check exception and an attempt to disable a previously enabled machine check architecture of the processor. 2. The processor of claim 1 , wherein the memory protection circuit is further to continue receiving memory access requests from the memory interface and protecting against any of the received memory access requests accessing the protected memory region of the at least one LTT-mode task until an occurrence of a deactivation event, the deactivation event comprising one of a machine check exception and an attempt to disable a previously enabled machine check architecture provided by the processor. 3. The processor of claim 1 , wherein the processor further comprises memory management circuitry to define and isolate a protected memory region comprising the code, data, and stack segments, the local descriptor table, and the task state segment (TSS) of the at least one LTT-mode task. 4. The processor of claim 3 , further comprising task management circuitry to associate the TSS with the at least one LTT-mode task, and to store contextual state information in the TSS before suspending the at least one LTT-mode task, and to recall contextual state information from the TSS upon restoring the task, the TSS further to comprise a LTT-mode bit to indicate that the at least one LTT-mode task is a LTT-mode task, and a LTT debug bit to indicate whether the at least one LTT-mode task is to opt in to a debug facility of the processor. 5. The processor of claim 4 , wherein the memory management circuitry further comprises a TSS register to contain a base address of a TSS data structure of a currently-executing task. 6. The processor of claim 4 , wherein the TSS is a 32-bit mode data structure comprising 104 bytes; and wherein the processor is to trigger an exception and to generate a fault upon an occurrence of any one of the LTT-mode being enabled and a TSS being encountered that has fewer bytes than expected, a VM-8086 task being encountered, and a LTT-mode task being encountered when the LTT-mode is enabled but inactive. 7. The processor of claim 6 , wherein the LTT-mode, when enabled and active, is to cause the processor to raise an exception upon an occurrence of at least one of: an attempt to switch out of a protected mode of operation, an attempt to enable or disable a non-eviction mode of a CPU cache, an attempt to relocate a device residing within a CPU boundary using a device relocation capability, and an attempt to execute at least one of LGDT, LIDT, LLDT, LTR, INVD, sysenter, and sysexit instruction. 8. A system comprising: a memory to store code, data, and stack segments for at least one LTT-mode task and another task; a LTT control and status register comprising a readable/writeable lock bit to lock down a configuration of the at least one LTT-mode task; and a processor core to enable LTT-mode, configure the at least one LTT-mode task, and lock down the configuration of the at least one LTT-mode task by writing the lock bit, the processor core comprising a memory protection circuit to: receive at least one memory access request from the memory, the at least one memory access request being associated with the other task; determine whether the at least one memory access request is attempting to access a protected memory region associated with the at least one LTT-mode task; and protect against the at least one memory access request accessing the protected memory region of the at least one LTT-mode task, regardless of a privilege level of the other task, and regardless of whether the other task is a LTT-mode task, the protected memory region comprising at least code, data, and stack segments, a local descriptor table, and a task state segment (TSS) associated with the LTT-mode task; and wherein the memory protection circuit is further to continue receiving memory access requests from the memory and protecting against any of the received memory access requests from the other task accessing the protected memory region associated with the LTT-mode task until an occurrence of a deactivation event, the deactivation event comprising one of a machine check exception and an attempt to disable a previously enabled machine check architecture provided by the processor. 9. The system of claim 8 , wherein the processor includes a 32-bit mode task state segment (TSS) comprising 104 bytes; and wherein the processor is to trigger an exception and to generate a fault upon an occurrence of any one of the LTT-mode being enabled and a TSS being encountered that has fewer bytes than expected, a VM-8086 task being encountered, and a LTT-mode task being encountered when the LTT-mode is enabled but inactive. 10. The system of claim 9 , wherein the processor further comprises memory management circuitry to isolate individual protected memory regions, and wherein the processor is to use the memory management circuitry to define a protected memory region comprising the code, data, and stack segments, a local descriptor table, and a TSS of the at least one LTT-mode task. 11. The system of claim 8 , the system further comprising a plurality of functional units, wherein the plurality of functional units and the processor core are integrated on a same die. 12. A method of executing a lightweight trusted task (LTT) mode task in a system comprising a memory, a processor, and a memory protection circuit, the method comprising: resetting the system; fetching, decoding, and executing Root-of-Trust instructions from a firmware memory by an execution circuit of the processor to initialize a LTT feature, configure protected memory regions of at least one LTT-mode task, enable and lock down the at least one LTT-mode task, and boot to an operating system; and receiving, after booting to the operating system, at least one memory access request from the execution circuit by a memory protection circuit, the memory protection circuit to protect against the at least one memory access request accessing the protected memory regions of the at least one LTT-mode task, regardless of a privilege level of the at least one memory access request, and regardless of whether the at least one memory access request

Assignees

Inventors

Classifications

  • Bootstrapping (security arrangements therefor G06F21/57) · CPC title

  • by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights (G06F12/1458 takes precedence) · CPC title

  • operating in dual or compartmented mode, i.e. at least one secure mode · CPC title

  • Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title

  • Security improvement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10671547B2 cover?
Methods and apparatus relating to lightweight trusted tasks are disclosed. In one embodiment, a processor includes a memory interface to a memory to store code, data, and stack segments for a lightweight-trusted task (LTT) mode task and for another task, a LTT control and status register including a lock bit, a processor core to enable LTT-mode, configure the LTT-mode task, and lock down the co…
Who is the assignee on this patent?
Koeberl Patrick, Schulz Steffen, Shanbhogue Vedvyas, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F12/1416. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 02 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).