IP Library › Granted Patent US 11,182,192
Granted Patent B2
US 11,182,192 · App. 16/296,315 · Granted Nov 23, 2021

Controlling access to secure storage of a virtual machine

Inventors: Lisa Cranton Heller (Rhinebeck, NY); Fadi Y. Busaba (Poughkeepsie, NY); Jonathan D. Bradbury (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/45558G06F9/45545H04L63/08H04L63/10G06F2009/45562G06F2009/45575G06F2009/45579G06F2009/45583G06F2009/45587
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,182,192
App. No.
16/296,315
Granted
Nov 23, 2021
Kind
B2
Abstract

According to one or more embodiments of the present invention, a computer implemented method includes receiving a request from a requestor, to access a page of memory. The requestor is either a secure entity of a computer system or a secure interface control of the computer system. The request is tagged as a secure request from a secure domain of the computer system. It is verified that the request is making an access to a page that is both registered as secure and registered as belonging to the secure domain. The requestor is provided access to the page based at least in part on the page being registered as secure and as belonging to the secure domain. The requestor is prevented from accessing the page, based on one or both of the page not being registered as secure, and the page not being registered as belonging to the secure domain.

Claims (49)

1. A method comprising:

receiving a request from a requestor to access a page of memory, the request tagged as a secure request from a secure domain of the computer system, the requestor selected from the group consisting of a secure entity of a computer system and a secure interface control of the computer system;

verifying that the request is making an access to a page that is registered as secure and registered as belonging to the secure domain;

providing the requestor access to the page based at least in part on the page being registered as secure and the page being registered as belonging to the secure domain, wherein the providing comprises:

determining whether a disable address compare bit associated with the page is set;

based on the disable address compare bit being set, accessing the page via a host absolute address; and

based on the disable address compare bit not being set, accessing the page via a host virtual address; and

preventing the requestor from accessing the page based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure domain.

2. The method of claim 1 , further comprising reporting an interrupt based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure domain.

3. The method of claim 1 , further comprising reporting an error based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure domain.

4. The method of claim 1 , further comprising verifying that a dynamic address translation mapping used by the secure domain is unchanged prior to providing the secure interface control with access to the page, the dynamic address translation mapping established by a non-secure entity.

5. The method of claim 4 , wherein the non-secure entity comprises a hypervisor and the secure entity and secure domain are included in a virtual machine hosted by the hypervisor.

6. The method of claim 1 , wherein the verifying is based at least in part on contents of a hardware table stored in secure memory of the computer system.

7. The method of claim 1 , wherein the secure interface control comprises firmware, hardware, or a combination of firmware and hardware.

8. The method of claim 1 , wherein the verifying, providing, and preventing are initiated by the secure interface control.

9. The method of claim 1 , further comprising:

in response to receiving a second request from the requestor to access a second page of memory, the second request tagged as a non-secure request:

verifying that the second request is making an access to a second page that is not registered as secure;

providing the requestor access to the second page based at least in part on the second page not being registered as secure; and

preventing the requestor from accessing the second page based on the second page being registered as secure.

10. A system comprising:

a memory;

a processing unit configured to execute a hypervisor that hosts a plurality of virtual machines, including a secure virtual machine;

a hardware table for tracking pages in the memory that have been registered as secure; and

a secure interface control configured to perform operations comprising:

receiving a request from a requestor to access a page of the memory, the request tagged as a secure request from the secure virtual machine, the requestor selected from the group consisting of a secure entity of the system and the secure interface control;

verifying, based at least in part on contents of the hardware table, that the page is registered as secure and belonging to the secure virtual machine;

providing the requestor access to the page based at least in part on the page being registered as secure and belonging to the secure virtual machine, wherein the providing comprises:

determining whether a disable address compare bit associated with the page is set;

based on the disable address compare bit being set, accessing the page via a host absolute address; and

based on the disable address compare bit not being set, accessing the page via a host virtual address; and

preventing the requestor from accessing the page based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure virtual machine.

11. The system of claim 10 , wherein the operations further comprise reporting an interrupt based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure virtual machine.

12. The system of claim 10 , wherein the operations further comprise reporting an error based on one or both of the page not being registered as secure and the page not being registered as belonging to the secure domain.

13. The system of claim 10 , wherein the verifying is based at least in part on contents of a hardware table stored in secure memory of the computer system.

14. The system of claim 10 , wherein the secure interface control comprises firmware, hardware, or a combination of firmware and hardware.

15. A method comprising:

receiving a request from a requestor to access a page of memory, the request tagged as a non-secure request, the requestor selected from the group consisting of a secure entity of a computer system and a secure interface control of the computer system;

verifying that the request is making an access to a page that is not registered as secure;

providing the requestor access to the page based at least in part on the page not being registered as secure, wherein the providing comprises:

determining whether a disable address compare bit associated with the page is set;

based on the disable address compare bit being set, accessing the page via a host absolute address; and

based on the disable address compare bit not being set, accessing the page via a host virtual address; and

preventing the requestor from accessing the page based on the page being registered as secure.

16. The method of claim 15 , further comprising reporting an interrupt based on the page being registered as secure.

17. The method of claim 15 , further comprising reporting an error based on the page being registered as secure.

18. The method of claim 15 , wherein the non-secure entity comprises a hypervisor or a non-secure virtual machine.

19. The method of claim 15 , wherein the verifying is based at least in part on contents of a hardware table.

20. The method of claim 15 , wherein the secure interface control comprises firmware, hardware, or a combination of firmware and hardware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2019
From: HELLER, LISA CRANTON; BUSABA, FADI Y.; BRADBURY, JONATHAN D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048538/0069 →
Continuity (1)
Related Publication 20200285499A1 · Sep 10, 2020
Cited By (1)
US 12,615,241