Hypervisor-based secure container

US2018341529A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018341529-A1
Application numberUS-201715606376-A
CountryUS
Kind codeA1
Filing dateMay 26, 2017
Priority dateMay 26, 2017
Publication dateNov 29, 2018
Grant date

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.

A “Hypervisor Secure Container” (HSC) is a block of memory space that resides inside of a regular process, but is secured from the operating system of the computer it runs on. The HSC is a software container that runs on a hypervisor directly. Data and code within one HSC can only be accessed by the hypervisor itself and the code that belongs to the same HSC. The HSC can run in user mode or kernel mode. Advantageously, even if the operating system or user of the computer the HSC runs on is malicious, the data inside the HSC is still secure. The HSC allows software based isolation of code/data and can be used in various security contexts including securely storing certificates and passwords, performing Digital Rights Management (DRM) for media and games, and confidential computing in a computing cloud.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented process for providing a secure computing environment, comprising: using a hypervisor of a computing device to create a hypervisor-based secure container (HSC) comprising a block of memory of the computing device that is associated with and accessible via the hypervisor with a regular computing process, but that is secured from access by any user and any operating system the process runs on; loading data into the HSC and initializing the HSC; and calling functions exposed by the HSC to use the data secured in the HSC when running the process. 2 . The computer-implemented process of claim 1 , further comprising using a HSC manager on the hypervisor to assist in creating and managing the HSC. 3 . The computer-implemented process of claim 1 , wherein code inside of the HSC is run by exposing a set of functions to complete secure computing. 4 . The computer-implemented process of claim 1 wherein the data secured in the HSC is securely used in a computing cloud. 5 . The computer-implemented process of claim 1 , wherein the HSC is signed. 6 . The computer-implemented process of claim 1 , wherein the HSC is sealed after initialization. 7 . The computer-implemented process of claim 1 , wherein the regular process is a banking application. 8 . The computer-implemented process of claim 1 , wherein Second-Level Address Translation (SLAT) is used to securely process the data secured in the HSC when running the regular process. 9 . The computer-implemented process of claim 1 , wherein a Translation Lookaside Buffer missing handler process is used to securely process the data secured in the HSC when running the regular process. 10 . A computer-implemented process for providing a secure computing environment, comprising: using a computing device for: instantiating a hypervisor on a computing device; instantiating a hypervisor secure container manager (HSCM) on the hypervisor; setting up a hypercall page to support hypervisor secure container manager (HSCM) routines for creating and managing a Hypervisor-based Secure Container (HSC); starting the operating system (OS) on the computing device; using the operating system (OS) to map the hypercall page's virtual address to a physical address in the memory; starting a process on the OS; using the process to issue a hypercall (request) to the HSCM to create a HSC; in response to the hypercall, using the HSCM to create a HSC and passing the handle of the HSC to the requesting process; using the process to issue a hypercall to the HSCM (using the handle of the HSC) to load data into the HSC and to initialize the HSC, said data in the HSC can only being accessible by the hypervisor via a request by the process and the HSC itself. 11 . The computer-implemented process of claim 10 , further comprising using the initialized HSC by an application different from the regular process. 12 . The computer-implemented process of claim 10 , wherein the process uses hypercalls via the hypervisor to access the data stored in the HSC. 13 . The computer-implemented process of claim 10 , wherein the OS is host OS and wherein the process runs on the host OS. 14 . The computer-implemented process of claim 10 , wherein the OS is guest OS and wherein the process runs on the guest OS. 15 . The computer-implemented process of claim 10 , wherein multiple HSCs are created for the process using the hypervisor-based secure manager (HSCM). 16 . The computer-implemented process of claim 10 , wherein multiple HSCs are created, one or more for each process of multiple processes. 17 . A system for securing data stored in computer memory, comprising: a computing device having memory, the computing device comprising: a hypervisor; an operating system (OS); one or more hypervisor-based secure containers, comprising blocks of memory that are associated with a process running on the operating system, that are created by the hypervisor in response to a request from the process, wherein the data and code within one HSC can only be accessed by the hypervisor in response to a request from the process and other code that belongs to the same HSC. 18 . The system of claim 17 wherein the operating system is untrusted. 19 . The system of claim 17 wherein the computing device is used by an untrusted user. 20 . The system of claim 12 wherein the HSC can run in user mode or kernel mode securely.

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Secure boot · 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 US2018341529A1 cover?
A “Hypervisor Secure Container” (HSC) is a block of memory space that resides inside of a regular process, but is secured from the operating system of the computer it runs on. The HSC is a software container that runs on a hypervisor directly. Data and code within one HSC can only be accessed by the hypervisor itself and the code that belongs to the same HSC. The HSC can run in user mode or ker…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 29 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).