TWI748338B - 用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品 - Google Patents

用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品 Download PDF

Info

Publication number
TWI748338B
TWI748338B TW109104344A TW109104344A TWI748338B TW I748338 B TWI748338 B TW I748338B TW 109104344 A TW109104344 A TW 109104344A TW 109104344 A TW109104344 A TW 109104344A TW I748338 B TWI748338 B TW I748338B
Authority
TW
Taiwan
Prior art keywords
host
secure
page
security
absolute
Prior art date
Application number
TW109104344A
Other languages
English (en)
Other versions
TW202101265A (zh
Inventor
馬汀 史基瓦德弗斯凱
海科 卡思坦斯
強納生 D 布萊德貝瑞
麗莎 克蘭頓 海勒
Original Assignee
美商萬國商業機器公司
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 美商萬國商業機器公司 filed Critical 美商萬國商業機器公司
Publication of TW202101265A publication Critical patent/TW202101265A/zh
Application granted granted Critical
Publication of TWI748338B publication Critical patent/TWI748338B/zh

Links

Images

Classifications

    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Abstract

本發明提供一種方法。該方法藉由一電腦之一安全介面控制件來實施,該安全介面控制件防止對該電腦之一記憶體中之位置的未授權存取。該安全介面控制件根據確保一主機絕對頁面安全而判定該主機絕對頁面先前未映射至一虛擬頁面,且根據確保該主機絕對頁面安全而判定一主機虛擬頁面尚未映射至一絕對頁面。

Description

用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品
本發明大體上係關於電腦技術,且更具體而言,係關於安全介面控制高層級頁面管理。
雲端運算及雲端儲存向使用者提供了在第三方資料中心中儲存及處理其資料之能力。雲端運算促進能夠快速且容易地為客戶佈建虛擬機器(VM),而不需要客戶購買硬體或為實體伺服器提供佔用面積。客戶可根據改變之客戶偏好或要求來容易地擴展或收縮VM。通常,雲端運算提供者佈建VM,其實體上駐留於提供者之資料中心處的伺服器上。客戶常常擔心VM中之資料的安全性,此尤其係因為運算提供者常常在同一伺服器上儲存多於一個客戶之資料。客戶可能需要其自身程式碼/資料與雲端運算提供者之程式碼/資料之間以及其自身程式碼/資料與在提供者之站台處執行的其他VM之自身程式碼/資料之間的安全性。此外,客戶可能希望提供者之管理員提供安全性以及希望避免由在機器上執行之其他程式碼可能造成的安全漏洞。
為了處置此等敏感情形,雲端服務提供者可實施安全控制以確保適當的資料隔離及邏輯儲存分隔。虛擬化在實施雲端基礎架構中之 廣泛使用為雲端服務之客戶帶來獨特的安全性問題,此係因為虛擬化更改作業系統(OS)與基礎硬體(無論為運算、儲存或甚至網路連接硬體)之間的關係。此引入虛擬化作為額外層,其自身必須經適當地組態、管理及保證安全。
一般而言,在主機超管理器之控制下作為客體執行的VM依賴於彼超管理器為彼客體透明地提供虛擬化服務。此等服務包括記憶體管理、指令仿真及中斷處理。
在記憶體管理之狀況下,VM可將其資料自磁碟移動(分頁移入)以駐留於記憶體中,且VM亦可將其資料移回(分頁移出)至磁碟。在頁面駐留於記憶體中時,VM(客體)使用動態位址轉譯(DAT)以將記憶體中之頁面自客體虛擬位址映射至客體絕對位址。此外,主機超管理器對於記憶體中之客體頁面具有其自身的DAT映射(自主機虛擬位址至主機絕對位址),且其可獨立地且對客體透明地將客體頁面分頁移入及移出記憶體。超管理器經由主機DAT表在兩個分開的客體VM之間提供記憶體隔離或客體記憶體共用。主機亦能夠在必要時代表客體存取客體記憶體以模擬客體操作。
根據一或多個實施例,提供一種方法。該方法藉由一電腦之一安全介面控制件來實施,該安全介面控制件防止對該電腦之一記憶體中之位置的未授權存取。該安全介面控制件根據確保一主機絕對頁面安全而判定該主機絕對頁面先前未映射至一虛擬頁面,且根據確保該主機絕對頁面安全而判定一主機虛擬頁面尚未映射至一絕對頁面。本文中之本發明之一或多個實施例的技術效應及益處可包括禁止所有非安全客體及超管理 器存取安全儲存器。
根據一或多個實施例或以上方法實施例,該安全介面控制件可將主機絕對頁面標記為安全。
根據一或多個實施例或以上方法實施例中之任一者,該安全介面控制件可註冊主機絕對頁面以供安全介面控制件使用,安全地對主機絕對頁面解密,隨後取消註冊主機絕對頁面以供安全介面控制件使用,且將主機絕對頁面註冊至安全網域。
根據一或多個實施例或以上方法實施例中之任一者,該安全介面控制件可向相關聯之主機絕對頁面註冊主機虛擬位址以建立主機位址對以供安全實體使用,且在安全實體進行存取時檢查主機虛擬位址匹配。
根據一或多個實施例或以上方法實施例中之任一者,該安全介面控制件可鎖定主機絕對頁面以供安全介面控制件使用,從而防止對主機絕對頁面之其他呼叫。本文中所描述之本發明之一或多個實施例的技術效應及益處可包括保證在安全客體之間不共用儲存器,此係因為儲存器在單一安全客體之控制下在安全客體與超管理器之間共用。
根據一或多個實施例或以上方法實施例中之任一者,該安全介面控制件可解鎖主機絕對頁面以指派載入至記憶體中之安全客體網域。本文中所描述之本發明之一或多個實施例的技術效應及益處可包括保證在安全客體之間不共用儲存器,此係因為儲存器在單一安全客體之控制下在安全客體與超管理器之間共用。
根據一或多個實施例或以上方法實施例中之任一者,安全實體可存取已由在電腦上執行之不受信任實體透明地分頁移入且非安全的 安全頁面。
根據一或多個實施例或以上方法實施例中之任一者,該不受信任實體可為超管理器,且該安全實體可為安全客體。本文中所描述之本發明之一或多個實施例的技術效應及益處可包括超管理器保證:對於任何給定駐留安全客體頁面,相關聯之主機絕對位址僅可經由單一超管理器(主機)DAT映射存取。
根據一或多個實施例或以上方法實施例中之任一者,硬體向不受信任實體呈現程式中斷,其指示對安全客體頁面解密之需要。
根據一或多個實施例或以上方法實施例中之任一者,不受信任實體可發出匯入指令,其提供主機絕對頁面及主機虛擬頁面。
根據一或多個實施例或以上方法實施例中之任一者,該方法可實施為電腦程式產品及/或系統。
額外特徵及優點經由本發明之技術實現。本文中詳細描述本發明之其他實施例及態樣且將其視為本發明之一部分。為更好地理解具有該等優點及特徵的本發明,參考描述及圖式。
10:雲端運算節點
11:硬體/韌體層
12:超管理器
13:系統
15:VM
15A:VM
15B:VM
15C:VM
15D:VM
15N:VM
20A:用戶端裝置
20B:用戶端裝置
20C:用戶端裝置
20D:用戶端裝置
20E:用戶端裝置
50:雲端運算環境
54A:個人數位助理(PDA)或蜂巢式電話/運算裝置
54B:桌上型電腦/運算裝置
54C:膝上型電腦/運算裝置
54N:汽車電腦系統/運算裝置
60:硬體及軟體層
61:大型電腦
62:基於精簡指令集電腦(RISC)架構之伺服器
63:伺服器
64:刀鋒伺服器
65:儲存裝置
66:網路及網路連接組件
67:網路應用程式伺服器軟體
68:資料庫軟體
70:虛擬化層
71:虛擬伺服器
72:虛擬儲存器
73:虛擬網路
74:虛擬應用程式及作業系統
75:虛擬用戶端
80:管理層
81:資源佈建
82:計量及定價
83:使用者入口網站
84:服務等級管理
85:服務等級協議(SLA)規劃及實現
90:工作負載層
91:地圖測繪及導航
92:軟體開發及生命週期管理
93:虛擬教室教育遞送
94:資料分析處理
95:異動處理
96:高層級頁面管理
100:區域安全性表
110:主機絕對位址
120:安全網域ID
130:UV位元
140:停用位址比較(DA)位元
150:共用(SH)位元
160:主機虛擬位址
165:網路
202:虛擬位址空間
204:虛擬位址空間
206:絕對位址空間
208:位址空間控制元素(ASCE)A
210:ASCE B
212a1:虛擬頁面A1.V
212a2:虛擬頁面A2.V
212a3:虛擬頁面A3.V
214b1:虛擬頁面B1.V
214b2:虛擬頁面B2.V
220a1:絕對頁面A1.A
220a2:絕對頁面A2.A
220a3:絕對頁面A3.A
222b1:絕對頁面B1.A
222b2:絕對頁面B2.A
230:區段
232a:頁表
232b:頁表
234:表
236:表
302:客體A虛擬位址空間A
304:客體ASCE(GASCE)A
306:客體B虛擬位址空間B
308:GASCEB
310a1:虛擬頁面A1.GV
310a2:虛擬頁面A2.GV
310a3:虛擬頁面A3.GV
320b1:虛擬頁面B1.GV
320b2:虛擬頁面B2.GV
325:共用主機(超管理器)虛擬位址空間
330:主機絕對位址空間
340a1:客體絕對頁面A1.HV
340a2:客體絕對頁A2.HV/主機虛擬位址
340a3:客體絕對頁A3.HV/主機虛擬位址
350:主機ASCE(HASCE)
360b1:客體絕對頁面B1.HV/主機虛擬位址
360b2:客體絕對頁面B2.HV/主機虛擬位址
370a1:主機絕對頁面A1.HV
370a3:主機絕對頁面A3.HV
370b1:主機虛擬位址B1.HV
380:主機絕對頁面AB2.HA
490a:主機絕對位址A2.HA
490b:主機絕對位址B2.HA
500:DAT操作之系統示意圖
510:主機主要虛擬位址空間
520:主機本籍虛擬位址空間
525:主機DAT轉譯
530:超管理器(主機)絕對位址空間
591:主機主要ASCE(HPASCE)
592:主機本籍ASCE(HHASCE)
600:關於安全介面控制件記憶體之系統示意圖
630:超管理器(主機)絕對位址空間
700:用於匯入操作之程序流程
800:用於執行匯入操作之程序流程
900:關於所供給記憶體操作之程序流程
1000:關於非安全超管理器頁面至安全介面控制件之安全頁面的程序流程
1005:箭頭
1010:安全介面控制件真實儲存器頁面/安全介面控制件真實儲存器
1025:箭頭
1030:安全介面控制件真實儲存器
1045:箭頭
1050:安全介面控制件虛擬儲存器
1100:關於由程式或安全介面控制件進行之安全儲存器存取的程序流程
1200:程序流程
1300:程序流程
1400:程序流程
1485:區域安全性表介面
1500:用於安全介面控制高層級頁面管理之程序流程
1502:安全實體
1504:硬體
1506:不受信任實體
1508:安全介面控制件
1600:用於安全介面控制高層級頁面管理之程序流程
1602:安全實體
1604:硬體
1606:不受信任實體
1900:系統
2001:處理器
2001a:中央處理單元(CPU)
2001b:中央處理單元(CPU)
2001c:中央處理單元(CPU)
2002:系統匯流排
2003:系統記憶體
2004:唯讀記憶體(ROM)
2005:隨機存取記憶體(RAM)
2007:硬碟
2008:軟體
2009:資料
2020:介面配接器
2021:鍵盤
2022:滑鼠
2023:揚聲器
2024:麥克風
2030:顯示配接器
2031:顯示器
2032:GUI
2041:通信配接器
2050:網路
2051:伺服器
2052:資料庫
在本說明書之結尾處的申請專利範圍中特別地指出且清楚地主張本文中所描述之排他性權利的細節。本發明之實施例的前述以及其他特徵及優點自結合隨附圖式進行之以下詳細描述顯而易見,在隨附圖式中:圖1描繪根據本發明之一或多個實施例的區域安全性表;圖2描繪根據本發明之一或多個實施例的用於執行DAT之虛擬及絕對位址空間; 圖3描繪根據本發明之一或多個實施例的支援在超管理器下執行之虛擬機器(VM)的巢套之多部分DAT;圖4描繪根據本發明之一或多個實施例的安全客體儲存之映射;圖5描繪根據本發明之一或多個實施例的動態位址轉譯(DAT)操作之系統示意圖;圖6描繪根據本發明之一或多個實施例的安全介面控制件記憶體之系統示意圖;圖7描繪根據本發明之一或多個實施例的匯入操作之程序流程;圖8描繪根據本發明之一或多個實施例的匯入操作之程序流程;圖9描繪根據本發明之一或多個實施例的所供給記憶體操作之程序;圖10描繪根據本發明之一或多個實施例的非安全超管理器頁面至安全介面控制件之安全頁面的轉變之程序流程;圖11描繪根據本發明之一或多個實施例的由安全介面控制件進行之安全儲存器存取的程序流程;圖12描繪根據本發明之一或多個實施例的藉由安全介面控制件及硬體進行存取標示的程序流程;圖13描繪根據本發明之一或多個實施例的藉由程式及安全介面控制件進行之支援安全存取及非安全存取的轉譯之程序流程;圖14描繪根據本發明之一或多個實施例的藉由程式及安全 介面控制件進行之具有安全儲存保護的DAT之程序流程;圖15描繪根據本發明之一或多個實施例的用於安全介面控制高層級頁面管理之程序流程;圖16描繪根據本發明之一或多個實施例的用於安全介面控制高層級頁面管理之程序流程;圖17描繪根據本發明之一或多個實施例的雲端運算環境;圖18描繪根據本發明之一或多個實施例的抽象模型層;圖19描繪根據本發明之一或多個實施例的系統;及圖20描繪根據本發明之一或多個實施例的節點。
本文中所描繪之圖式為說明性的。在不背離本發明之精神的情況下,所描述之圖式或操作可存在許多變化。舉例而言,可以不同次序執行動作或可添加、刪除或修改動作。又,術語「耦接」及其變化描述在兩個元件之間具有通信路徑且並不暗示元件之間的直接連接且其間不具有插入元件/連接。所有此等變體視為本說明書之一部分。
本發明之一或多個實施例向在不受信任實體之控制下在主機電腦上執行的虛擬機器(VM)提供額外安全層,在本文中被稱作安全介面控制件。特定而言,安全介面控制件利用安全實體(例如,客體、VM或容器)與不受信任實體(例如,不受信任之非安全實體、主機、超管理器或OS)之間的高效輕型受信任韌體介面,以提供此額外安全性。安全介面控制件維持及使用任何安全頁面之主機虛擬位址與主機絕對位址之間的所註冊映射,以允許不受信任實體繼續提供此等頁面之頁面管理功能,同時仍提供高等級安全性。就此而言,使用新介面,因此安全介面控制件及不受 信任實體可提供頁面管理,其方式為允許不受信任實體繼續管理安全客體頁面而無需安全介面控制件維持影子表(及與其相關聯之高效能成本),同時安全介面控制件保證此等頁面映射中之安全性。
本文中之本發明之一或多個實施例的技術效應及益處可包括禁止所有非安全客體及超管理器存取安全儲存器。另外,本文中所描述之本發明之一或多個實施例的技術效應及益處可包括超管理器保證:對於任何給定駐留安全客體頁面,相關聯之主機絕對位址僅可經由單一超管理器(主機)DAT映射(亦即,存在映射至指派給安全客體之任何給定主機絕對位址的單一單一主機虛擬位址)存取;與任何給定安全客體頁面相關聯之超管理器DAT映射(主機虛擬至主機絕對)在該頁面被分頁移入時不改變;且僅針對單一安全客體映射與任何安全客體頁面相關聯之主機絕對頁面。此外,在安全客體之間不共用儲存器,此係因為儲存器在單一安全客體之控制下在安全客體與超管理器之間共用。
在主機超管理器(例如,不受信任實體)之控制下作為客體執行的虛擬機器(VM)依賴於彼超管理器為彼客體透明地提供虛擬化服務。此等服務可應用於安全實體與另一不受信任實體之間的任何介面,其在傳統上允許此另一實體存取安全資源。如先前所提及,此等服務可包括但不限於記憶體管理、指令仿真及中斷處理。舉例而言,對於中斷及例外注入,超管理器通常讀取及/或寫入至客體之預先指定區(低核心)中。如本文中所使用之術語「虛擬機器」或「VM」係指實體機器(運算裝置、處理器等)及其處理環境(作業系統(OS)、軟體資源等)之邏輯表示。VM維持為在基礎主機機器(實體處理器或處理器集合)上執行之軟體。自使用者或軟體資源之視角,VM呈現為其自身的獨立實體機器。如本文中所使用之術 語「超管理器」及「VM監視器(VMM)」係指管理及准許多個VM在同一主機機器上使用多個(且有時不同的)OS執行的處理環境或平台服務。應瞭解,部署VM包括VM之安裝程序及VM之起動(或啟動)程序。在另一實例中,部署VM包括VM之起動(或啟動)程序(例如,在VM先前已安裝或已存在之狀況下)。
為了促進及支援安全客體(例如,安全實體),存在技術挑戰:超管理器與安全客體之間需要額外安全性而不依賴於超管理器,使得超管理器無法存取來自VM的資料且因此無法以本文所描述之方式提供服務。
本文中所描述之安全執行提供保證安全儲存與非安全儲存之間以及屬於不同安全使用者之安全儲存之間的隔離的硬體機構。對於安全客體,在「不受信任」之非安全超管理器與安全客體之間提供額外安全性。為進行此操作,超管理器通常代表客體執行之許多功能需要併入至機器中。本文中描述新的安全介面控制件,在本文中亦被稱作「UV」,以在超管理器與安全客體之間提供安全介面。術語安全介面控制件與超監督器(ultravisor)在本文中可互換使用。安全介面控制件與硬體協作以提供此額外安全性。
在一個實例中,安全介面控制件實施於內部、安全且受信任的硬體及/或韌體中。對於安全客體或實體,安全介面控制件提供安全環境之初始化及維護以及此等安全實體之分派在硬體上的協調。在安全客體主動地使用資料且資料駐留於主機儲存器中時,其「以純文字(in the clear)」保存在安全儲存器中。安全客體儲存器可由彼單一安全客體存取,該安全客體嚴格地由硬體執行。亦即,硬體防止任何非安全實體(包 括超管理器或其他非安全客體)或不同安全客體存取彼資料。在此實例中,安全介面控制件作為韌體之最低層級的受信任部分而執行。最低層級或微碼實際上為硬體之擴充且用以實施例如在來自IBM之zAarchitecture®中定義的複雜指令及功能。微碼可存取儲存器之所有部分,該儲存器在安全執行之情況下包括其自身的安全UV儲存器、非安全超管理器儲存器、安全客體儲存器及共用儲存器。此允許其提供安全客體或支援彼客體之超管理器所需的任何功能。安全介面控制件亦可直接存取硬體,此允許硬體在由安全介面控制件建立之條件的控制下高效地提供安全性檢查。
根據本發明之一或多個實施例,在硬體中提供安全儲存位元以標記安全頁面。當此位元經設定時,硬體防止任何非安全客體或超管理器存取此頁面。此外,每一安全或共用頁面皆註冊於區域安全性表中且用安全客體網域識別碼(ID)來標示。當頁面非安全時,將其如此標記於區域安全性表中。對於每個分割區或區域,皆由安全介面控制件維持此區域安全性表。每個主機絕對頁面皆存在一個條目,其由硬體在由安全實體進行之任何DAT轉譯中使用以驗證頁面僅由安全客體或擁有其的實體存取。
根據本發明之一或多個實施例,軟體使用UV呼叫(UVC)指令以請求安全介面控制件執行特定動作。舉例而言,UVC指令可由超管理器使用以初始化安全介面控制件,建立安全客體網域(例如,安全客體組態)且在彼安全組態內建立虛擬CPU。其亦可用以匯入(解密且指派給安全客體網域)及匯出(加密且允許主機存取)安全客體頁面,作為超管理器分頁移入或分頁移出操作之部分。此外,安全客體能夠定義與超管理器共用之儲存器,使安全儲存器共用且使共用儲存器安全。
為提供安全性,當超管理器透明地分頁移入及分頁移出安全客體資料時,與硬體一起工作之安全介面控制件提供及保證資料之解密及加密。為實現此,當分頁移出及分頁移出安全客體資料時,需要超管理器發出新的UVC。基於由安全介面控制件在此等新UVC期間設置之控制,硬體將保證此等UVC實際上由超管理器發出。
在此新的安全環境中,每當超管理器分頁移出安全頁面時,需要其發出新的自安全儲存器轉換(匯出)UVC。回應於此匯出UVC,安全介面控制件將1)指示頁面由UV「鎖定」,2)對頁面加密,3)將頁面設定為非安全且4)重設UV鎖定。一旦匯出UVC完成,超管理器現便可分頁移出經加密之客體頁面。
此外,每當超管理器分頁移入安全頁面時,其必須發出新的至安全儲存器轉換(匯入)UVC。回應於此匯入UVC,UV或安全介面控制件將1)在硬體中將頁面標記為安全,2)指示頁面由UV「鎖定」,3)對頁面解密,4)向特定安全客體網域設定授權且5)重設UV鎖定。每當安全實體進行存取時,硬體在轉譯期間執行關於彼頁面之授權檢查。此等檢查包括1)驗證頁面實際上確實屬於正試圖存取其之安全客體網域的檢查,及2)確保在此頁面已駐留於客體記憶體中時超管理器未改變此頁面之主機映射的檢查。一旦頁面標記為安全,硬體便防止超管理器或非安全客體VM存取任何安全頁面。額外轉譯步驟防止另一安全VM進行存取且防止超管理器進行重新映射。
現轉向圖1,總體上展示根據本發明之一或多個實施例的區域安全性表100。圖1中所展示之區域安全性表100由安全介面控制件維持,且由安全介面控制件及硬體使用以保證對由安全實體存取之任何頁面 的安全存取。區域安全性表100藉由主機絕對位址110編索引。亦即,對於主機絕對儲存器之每一頁面,皆存在一個條目。每一條目包括用以驗證該條目屬於進行存取之安全實體的資訊。
另外,如圖1中所展示,區域安全性表100包括安全網域ID120(識別與此頁面相關聯之安全網域);UV位元130(指示此頁面被供給安全介面控制件且由安全介面控制件擁有);停用位址比較(DA)位元140(用以在某些情形中,諸如在定義為主機絕對之安全介面控制件頁面不具有相關聯之主機虛擬位址時,停用主機位址對比較);共用(SH)位元150(指示與非安全超管理器共用頁面);及主機虛擬位址160(指示針對此主機絕對位址註冊之主機虛擬位址,其被稱作主機位址對)。應注意,主機位址對指示主機絕對位址及相關聯之所註冊主機虛擬位址。主機位址對表示此頁面(一旦由超管理器匯入)之映射,且比較保證在彼頁面正由客體使用時主機不重新映射該頁面。
動態位址轉譯(DAT)用以將虛擬儲存器映射至真實儲存器。當客體VM在超管理器之控制下作為可分頁客體執行時,客體使用DAT來管理駐留於其記憶體中之頁面。此外,主機在客體頁面駐留於其記憶體中時獨立地使用DAT來管理彼等頁面(連同其自身頁面)。超管理器使用DAT來提供不同VM之間的儲存隔離及/或共用以及防止客體存取超管理器儲存器。當客體正以非安全模式執行時,超管理器可存取所有客體儲存器。
DAT使得能夠隔離一個應用程式與另一應用程式,同時仍准許該等應用程式共用共同資源。又,DAT准許實施VM,其可用於設計及測試OS之新版本連同並行處理應用程式。虛擬位址識別虛擬儲存器中 之位置。位址空間為虛擬位址之連續序列連同特定變換參數(包括DAT表),其允許每一虛擬位址轉譯成相關聯之絕對位址,該絕對位址藉由儲存器中之位元組位置識別彼位址。
DAT使用多表查找以將虛擬位址轉譯成相關聯之絕對位址。此表結構通常由儲存管理器定義及維持。此儲存管理器藉由分頁移出一個頁面例如以調入另一頁面來在多個程式之間透明地共用絕對儲存器。舉例而言,當頁面被分頁移出時,儲存管理器將在相關聯之頁表中設定無效位元。當程式試圖存取被分頁移出之頁面時,硬體將向儲存管理器呈現程式中斷,其常常被稱作頁面錯誤。作為回應,儲存管理器將分頁移入所請求頁面且重設無效位元。此皆透明於程式而進行,且允許儲存管理器虛擬化儲存器並在各種不同使用者間共用該儲存器。
當虛擬位址由CPU使用以存取主儲存器時,其首先藉助於DAT轉換成真實位址且接著藉助於預先指定轉換成絕對位址。用於特定位址空間之最高層級表的指定項(起點及長度)被稱作位址空間控制元素(ASCE)且定義相關聯之位址空間。
現轉向圖2,總體上展示根據本發明之一或多個實施例的用於執行DAT之實例虛擬位址空間202及204以及絕對位址空間206。在圖2中所展示之實例中,存在兩個虛擬位址空間:虛擬位址空間202(由位址空間控制元素(ASCE)A 208定義)及虛擬位址空間204(由ASCE B 210定義)。虛擬頁面A1.V 212a1、A2.V 212a2及A3.V 212a3藉由儲存管理器使用ASCE A 208在多表(區段230及頁表232a、232b)查找中映射至絕對頁面A1.A 220a1、A2.A 220a2及A3.A 220a3。類似地,虛擬頁面B1.V 214b1及B2.V 214b2係使用ASCE B 210分別在兩表234及236查找中映射至絕對 頁面B1.A 222b1及B2.A 222b2。
現轉向圖3,總體上展示根據本發明之一或多個實施例的用以支援在超管理器下執行之VM的巢套之多部分DAT轉譯之實例。在圖3中所展示之實例中,客體A虛擬位址空間A 302(由客體ASCE(GASCE)A 304定義)及客體B虛擬位址空間B 306(由GASCEB 308定義)兩者駐留於共用主機(超管理器)虛擬位址空間325中。如所展示,屬於客體A之虛擬頁面A1.GV 310a1、A2.GV 310a2及A3.GV 310a3分別藉由客體A儲存管理器使用GASCEA 304映射至客體絕對頁面A1.HV 340a1、A2.HV 340a2及A3.HV 340a3;屬於客體B之虛擬頁面B1.GV 320b1及B2.GV 320b2分別獨立地藉由客體B儲存管理器使用GASCEB 308映射至客體絕對頁面B1.HV 360b1及B2.HV 360b2。在此實例中,此等客體絕對頁面直接映射至共用主機虛擬位址空間325中,且隨後經歷至主機絕對位址空間330之額外主機DAT轉譯映射。如所展示,主機虛擬位址A1.HV 340a1、A3.HV 340a3及B1.HV 360b1藉由主機儲存管理器使用主機ASCE(HASCE)350映射至A1.HA 370a1、A3.HA 370a3及B1.HA 370b1。屬於客體A之主機虛擬位址A2.HV 340a2及屬於客體B之B2.HV 360b2兩者映射至同一主機絕對頁面AB2.HA 380。此使得能夠在此等兩個客體之間共用資料。在客體DAT轉譯期間,客體表位址中之每一者被視為客體絕對位址且經歷額外巢套之主機DAT轉譯。
本文中所描述之本發明之實施例提供安全客體及UV儲存保護。禁止非安全客體及超管理器存取安全儲存器。超管理器規定,對於給定駐留的安全客體頁面,以下情況發生。相關聯之主機絕對位址僅可經由單一超管理器(主機)DAT映射存取。亦即,存在映射至指派給安全客體 之任何給定主機絕對位址的單一主機虛擬位址。與給定安全客體頁面相關聯之超管理器DAT映射(主機虛擬至主機絕對)在頁面被分頁移入時不改變。對於單一安全客體,映射與安全客體頁面相關聯之主機絕對頁面。
根據本發明之一或多個實施例,亦禁止在安全客體之間共用儲存器。儲存器在安全客體之控制下在單一安全客體與超管理器之間共用。UV儲存器為安全儲存器且可由安全控制介面存取但不可由客體/主機存取。儲存器藉由超管理器分配至安全控制介面。根據本發明之一或多個實施例,硬體及安全控制介面禁止任何嘗試違反此等規則之行為。
現轉向圖4,總體上展示根據本發明之一或多個實施例的安全客體儲存器之映射的實例。圖4類似於圖3,除了圖4之實例不允許在安全客體A與安全客體B之間共用儲存器以外。在圖3之非安全實例中,屬於客體A之主機虛擬位址A2.HV 340a2及屬於客體B之B2.HV 360b2兩者映射至同一主機絕對頁面AB2.HA 380。在圖4之安全客體儲存實例中,屬於客體A之主機虛擬位址A2.HV 340a2映射至主機絕對位址A2.HA 490a,而屬於客體B之B2.HV 360b2映射至其自身的B2.HA 490b。在此實例中,安全客體之間不存在共用。
在安全客體頁面駐留於磁碟上時,其經加密。當超管理器分頁移入安全客體頁面時,其發出UV呼叫(UVC),該呼叫使安全控制介面將頁面標記為安全(除非共用),對其解密(除非共用)且將其註冊(在區域安全性表中)為屬於適當安全客體(例如,客體A)。此外,其將相關聯之主機虛擬位址(例如,A3.HV 340a3)註冊至彼主機絕對頁面(被稱作主機位址對)。若超管理器未能發出正確UVC,則其在試圖存取安全客體頁面時接收例外。當超管理器分頁移出客體頁面時,發出類似UVC,其對客體頁 面(除非共用)加密,之後將客體頁面標記為非安全且在區域安全性表中將其註冊為非安全。
在具有五個給定主機絕對頁面K、P、L、M及N之實例中,當超管理器分頁移入該等主機絕對頁面時,其中之每一者由安全控制介面標記為安全。此防止非安全客體及超管理器存取該等頁面。當超管理器分頁移入主機絕對頁面K、P及M時,將其註冊為屬於客體A;當主機絕對頁面L及N由超管理器分頁移入時,將其註冊至客體B。在分頁期間不對共用頁面(在單一安全客體與超管理器之間共用的頁面)加密或解密。共用頁面未標記為安全(允許由超管理器存取),但在區域安全性表中向單一安全客體網域註冊。
根據本發明之一或多個實施例,當非安全客體或超管理器試圖存取由安全客體擁有之頁面時,超管理器接收安全儲存器存取(PIC3D)例外。不需要額外轉譯步驟來判定此情形。
根據一或多個實施例,當安全實體試圖存取頁面時,硬體執行額外轉譯檢查,其驗證儲存器實際上確實屬於彼特定安全客體。若並非如此,則向超管理器呈現非安全存取(PIC3E)例外。此外,若正被轉譯之主機虛擬位址不匹配來自區域安全性表中之所註冊主機位址對的主機虛擬位址,則辨識到安全儲存違反(「3F」x)例外。為了使得能夠與超管理器共用,只要轉譯檢查允許存取,安全客體便可存取未標記為安全的儲存器。
現轉向圖5,總體上展示根據本發明之一或多個實施例的DAT操作之系統示意圖500。系統示意圖500包括主機主要虛擬位址空間510及主機本籍虛擬位址空間520,頁面係自該等空間轉譯(例如,參見主 機DAT轉譯525;應注意,虛線表示經由DAT轉譯525進行之映射)至超管理器(主機)絕對位址空間530。舉例而言,圖5說明主機絕對儲存器由兩個不同的主機虛擬位址空間共用以及彼等主機虛擬位址中之一者不僅在兩個客體之間共用而且另外與主機本身共用。就此而言,主機主要虛擬位址空間510及主機本籍虛擬位址空間520為兩個主機虛擬位址空間之實例,其中之每一者分別由分開的ASCE(主機主要ASCE(HPASCE)591及主機本籍ASCE(HHASCE)592)定址。應注意,所有安全介面控制件儲存器(虛擬及真實兩者)皆由超管理器供給且標記為安全。一旦經供給,只要相關聯之安全實體存在,安全介面控制件儲存器便僅可由安全介面控制件存取。
如所說明,主機主要虛擬位址空間510包括客體A絕對頁面A1.HV、客體A絕對頁面A2.HV、客體B絕對頁面B1.HV及主機虛擬頁面H3.HV。主機本籍虛擬位址空間520包括安全介面控制件虛擬頁面U1.HV、主機虛擬頁面H1.HV及主機虛擬頁面H2.HV。
根據本發明之一或多個實施例,在本文中所描述之區域安全性表中,所有安全客體(例如,安全客體A及安全客體B)儲存器經註冊為屬於安全客體組態,且相關聯之主機虛擬位址(例如,A1.HV、A2.HV、B1.HV)亦註冊為主機位址對之部分。在一或多個實施例中,所有安全客體儲存器皆映射於主機主要虛擬空間中。此外,亦在區域安全性表中,所有安全介面控制件儲存器經註冊為屬於安全介面控制件,且可基於相關聯之安全客體網域在區域安全性表中進一步區分。根據本發明之一或多個實施例,將UV虛擬儲存器映射於主機本籍虛擬空間中,且將相關聯之主機虛擬位址註冊為主機位址對之部分。根據一或多個實施例,UV 真實儲存器不具有相關聯之主機虛擬映射,且區域安全性表中之DA位元(其指示停用虛擬位址比較)經設定以指示此情形。將主機儲存器標記為非安全且在區域安全性表中亦註冊為非安全。
因此,在「客體絕對=主機虛擬」之狀況下,超管理器(主機)主要DAT表(由HPASCE 591定義)如下轉譯主機主要虛擬位址空間510之頁面:將客體A絕對頁面A1.HV映射至屬於安全客體A之主機絕對A1.HA;將客體A絕對頁面A2.HV映射至屬於安全客體A之主機絕對A2.HA;將客體B絕對頁面B1.HV映射至屬於安全客體B之主機絕對B1.HA;且將主機虛擬頁面H3.HV映射至主機絕對頁面H3.HA非安全主機(且由於其非安全,因此不存在主機位址對)。另外,超管理器(主機)本籍DAT表(由HHASCE 592定義)如下轉譯主機本籍虛擬位址空間520之頁面:將安全介面控制件虛擬頁面U1.HV映射至定義為安全UV虛擬之主機絕對頁面U1.HA;將主機虛擬頁面H1.HV映射至定義為非安全之主機絕對頁面H1.HA;且將主機虛擬頁面H2.HV映射至定義為非安全之主機絕對頁面H2.HA。不存在與H1.HA或H2.HA相關聯之主機位址對,此係因為其非安全。
在操作中,若安全客體試圖存取指派給安全介面控制件之安全頁面,則硬體向超管理器呈現安全儲存違反(「3F」X)例外。若非安全客體或超管理器試圖存取任何安全頁面(包括指派給安全介面控制件之彼等頁面),則硬體向超管理器呈現安全儲存器存取(「3D」X)例外。替代地,對於嘗試存取安全介面控制件空間,可呈現錯誤條件。若硬體偵測到對安全介面控制件存取之安全指派的失配(例如,儲存器在區域安全性表中註冊為屬於安全客體而非屬於安全介面控制件,或所使用的主機位址 與所註冊對存在失配),則呈現檢查。
換言之,主機主要虛擬位址空間510包括主機虛擬頁面A1.HV及A2.HV(屬於安全客體A)及B1.HV(屬於安全客體B),其分別映射至主機絕對A1.HA、A2.HA及B1.HA。此外,主機主要虛擬位址空間510包括主機(超管理器)頁面H3.HV,其映射至主機絕對H3.HA。主機本籍虛擬空間520包括兩個主機虛擬頁面H1.HV及H2.HV,其映射至主機絕對頁面H1.HA及H2.HA中。主機主要虛擬位址空間510及主機本籍虛擬位址空間520兩者映射至單一主機絕對530中。將屬於安全客體A及安全客體B之儲存頁面標記為安全且在圖1中所展示之區域安全性表100中向其安全網域註冊且具有相關聯之主機虛擬位址。另一方面,將主機儲存器標記為非安全。當超管理器正定義安全客體時,其必須將主機儲存器供給至安全介面控制件以用於支援此等安全客體所需的安全控制區塊。此儲存器可定義於主機絕對或主機虛擬空間中且在一個實例中,具體而言定義於主機本籍虛擬空間中。返回圖5,主機絕對頁面U1.HA及U2.HA安全UV絕對為安全介面控制件儲存器,其定義為主機絕對儲存器。結果,此等頁面標記為安全且在圖1中所展示之區域安全性表100中註冊為屬於安全介面控制件且向相關聯之安全網域註冊。由於頁面定義為主機絕對位址,因此不存在相關聯之主機虛擬位址,由此在區域安全性表100中設定DA位元。
在轉譯之後,超管理器(主機)絕對位址空間530之實例可見於圖6中。圖6描繪根據本發明之一或多個實施例的關於安全介面控制件記憶體之系統示意圖600。系統示意圖600說明超管理器(主機)絕對位址空間630,其包括主機絕對頁面A2.HA安全客體A(用於A2.HV);主機絕對頁面B1.HA安全客體B(用於B1.HV);主機絕對頁面H1.HA非安全(主機); 主機絕對頁面H2.HA非安全(主機);主機絕對頁面U3.HA安全UV真實(無HV映射);主機絕對頁面U1.HA安全UV虛擬(用於U1.HV);及主機絕對頁面A1.HA安全客體A(用於A1.HV)。
現轉向圖7,總體上展示根據本發明之一或多個實施例的用於匯入操作之程序流程700。當安全客體存取由超管理器分頁移出之頁面時,會發生一系列事件,諸如程序流程700中所展示之事件,以便安全地將彼頁面調回。程序流程700在區塊705處開始,其中安全客體存取客體虛擬頁面。由於該頁面例如無效,因此硬體向超管理器呈現由程式中斷碼11(PIC11)指示之主機頁面錯誤(參見區塊715)。超管理器又識別可用於此客體頁面之非安全主機絕對頁面(參見區塊720),且將經加密客體頁面分頁移入至識別出的主機絕對頁面(參見區塊725)。
在區塊730處,接著在適當(基於主機虛擬位址)的主機DAT表中映射主機絕對頁面。在區塊735處,超管理器主機接著重新分派安全客體。在區塊740處,安全客體重新存取客體安全頁面。不再存在頁面錯誤,但由於此為安全客體存取且頁面未在圖1之區域安全性表100中標記為安全,因此在區塊745處,硬體向超管理器呈現非安全儲存例外(PIC3E)。此PIC3E防止客體存取此安全頁面,直至已發出必要匯入。接下來,程序流程700繼續進行至「A」,其連接至圖8。
現轉向圖8,總體上展示根據本發明之一或多個實施例的用於執行匯入操作之程序流程800。回應於PIC3E,正常執行之超管理器(例如,以預期方式執行而無錯誤)將發出匯入UVC(參見區塊805)。應注意,此時,待匯入之頁面標記為非安全且僅可由超管理器、其他非安全實體及安全介面控制件存取。其無法由安全客體存取。
作為匯入UVC之部分,充當安全介面控制件之受信任韌體檢查以查看此頁面是否已由安全介面控制件鎖定(參見決策區塊810)。若由安全介面控制件鎖定,則程序流程800繼續進行至區塊820。在區塊820處,將「忙碌」傳回碼傳回至超管理器,作為回應,超管理器將延遲(參見區塊825)且重新發出匯入UVC(程序流程800返回至區塊805)。若頁面尚未被鎖定,則程序流程800繼續進行至決策區塊822。
在決策區塊822處,安全介面控制件檢查以查看該頁面是否為與非安全超管理器共用之頁面。若該頁面被共用(程序流程800繼續進行至決策區塊824),則安全介面控制件在區域安全性表中將主機絕對位址向相關聯之安全客體網域註冊,具有主機虛擬位址且註冊為共用的。此頁面保持標記為非安全。此完成匯入UVC且頁面現可由客體存取。處理以超管理器重新分派客體(區塊830)且安全客體成功地存取頁面(區塊835)繼續。
若待匯入之主機虛擬頁面不與超管理器共用(程序流程800繼續進行至區塊840),則安全介面控制件將標記頁面為安全,使得超管理器不再能夠存取頁面。在區塊845處,安全介面控制件鎖定該頁面,使得其他UVC無法修改頁面狀態。一旦設定了鎖定(在區塊850處),安全介面控制件便將驗證在客體頁面經加密時其內容未改變。若內容確有改變,則將錯誤傳回碼傳回至超管理器,否則,安全介面控制件將對安全頁面解密。
在區塊855處,安全介面控制件解鎖頁面,從而允許其他UVC進行存取,在區域安全性表中將頁面註冊為安全且與適當的客體網域及主機虛擬位址相關聯,以完成主機位址HV->HA對。此允許客體進行 存取且完成UVC。
現轉向圖9,總體上展示根據本發明之一或多個實施例的關於所供給記憶體操作之程序流程900。程序流程900在區塊905處開始,其中超管理器將查詢UVC發出至安全介面控制件。在區塊910處,安全介面控制件傳回資料(例如,查詢UVC)。此資料可包括所需之基本區域特定主機絕對儲存器的量;所需之基本安全客體網域特定主機絕對儲存器的量;每MB所需之可變安全客體網域特定主機虛擬儲存器的量;及/或所需之基本安全客體CPU特定主機絕對儲存器的量。
在區塊915處,超管理器保留基本主機絕對區域特定儲存器(例如,基於由查詢UVC傳回之大小)。在區塊920處,超管理器將初始化發出至安全介面控制件。就此而言,超管理器可發出初始化UVC,其為在整個區域之安全客體組態之間進行協調所需的UV控制區塊提供所供給儲存器。初始化UVC指定基本區域特定儲存器起點。
在區塊925處,安全介面控制件藉由將所供給儲存器註冊至UV及標記為安全來實施初始化(例如,初始化UVC)。對於初始化UVC,安全介面控制件可將所供給儲存器標記為安全;為區域安全性表指派所供給儲存器中之一些;且在區域安全性表中向唯一安全網域註冊但不向相關聯之安全客體網域註冊所供給儲存器以供UV使用且將其註冊為不具有相關聯之主機虛擬位址對。
在區塊930處,超管理器保留儲存器(例如,基本及可變安全客體網域特定儲存器)。舉例而言,超管理器保留基本及可變(例如,基於安全客體網域儲存器之大小)安全客體網域特定儲存器(例如,由查詢UVC傳回之大小)。在區塊935處,超管理器將建立組態發出至安全介面 控制件。就此而言,超管理器可發出建立安全客體組態UVC,其指定基本及可變安全客體網域特定儲存器起點。另外,建立安全客體組態UVC為支援此安全客體組態所需之UV控制區塊提供所供給儲存器。
在區塊940處,安全介面控制件實施建立組態(例如,建立安全客體組態UVC)。對於建立安全客體組態UVC,安全介面控制件可將所供給儲存器標記為安全;將所供給儲存器註冊於區域安全性表中以供UV使用;且向相關聯之安全客體網域註冊所供給儲存器。將所供給基本(主機絕對)儲存器註冊為不具有相關聯之主機虛擬位址對。將所供給可變(主機虛擬)儲存器註冊為具有相關聯之主機虛擬位址對。
在區塊945處,超管理器保留基本安全客體CPU特定儲存器(例如,由查詢UVC傳回之大小)。在區塊950處,超管理器指定儲存器起點。舉例而言,超管理器將指定基本安全客體CPU特定儲存器起點之建立安全客體CPU發出至UV。在區塊955處,安全介面控制件實施建立CPU(例如,建立安全客體CPU UVC)。對於建立安全客體CPU UVC,安全介面控制件可將所供給儲存器標記為安全,且在區域安全性表中註冊所供給儲存器以供UV使用,但不向相關聯之安全客體網域註冊且註冊為不具有相關聯之主機虛擬位址對。
現轉向圖10,總體上展示根據本發明之一或多個實施例的關於非安全超管理器頁面至安全介面控制件之安全頁面的轉變之程序流程1000。在程序流程1000中,展示三個超管理器頁面(例如,非安全超管理器頁面A、非安全超管理器頁面B及非安全超管理器頁面C)。
超管理器(非安全)頁面A、B及C可由非安全實體(包括超管理器)存取。另外,將超管理器(非安全)頁面A、B及C標記為非安全(NS) 以及在區域安全性表(例如,圖1中所展示之區域安全性表100)中註冊為非安全且不共用。在箭頭1005處,發出初始化UVC,其將客體頁面A轉變至與整個區域相關聯之安全介面控制件真實儲存器頁面1010(UV2)。可將安全介面控制件真實儲存器1010標記為安全以及在區域安全性表(例如,圖1中所展示之區域安全性表100)中註冊為不具有安全客體網域且不具有超管理器至主機絕對(HV->HA)映射的UV。實情為,向唯一UV2安全網域註冊其且將DA位元設定為1。應注意,安全介面控制件真實儲存器1010可由安全介面控制件作為真實來存取。
自超管理器(非安全)頁面B,在箭頭1025處,發出建立SG組態或建立SG CPU UVC,其將此頁面轉變至與安全客體網域相關聯之安全介面控制件真實儲存器1030(UVS)。可將安全介面控制件真實儲存器1030標記為安全以及在區域安全性表(例如,圖1中所展示之區域安全性表100)中註冊為具有相關聯之安全客體網域且不具有超管理器至主機絕對(HV->HA)映射(亦即,DA位元=1)的UV。應注意,安全介面控制件真實儲存器1010可由安全介面控制件代表安全客體網域作為真實來存取。
自超管理器(非安全)頁面C,在箭頭1045處,發出建立SG組態UVC,其將此頁面轉變至與安全客體網域相關聯之安全介面控制件虛擬儲存器1050(UVV)。可將安全介面控制件虛擬儲存器1050標記為安全以及在區域安全性表(例如,圖1中所展示之區域安全性表100)中註冊為具有安全客體網域且具有超管理器至主機絕對(HV->HA)映射的UV。應注意,安全介面控制件虛擬儲存器1050可代表安全客體網域作為UV虛擬來存取。
現轉向圖11,描繪根據一或多個實施例之關於由程式或安 全介面控制件進行之安全儲存器存取的程序流程1100。此表示以下情形:安全介面控制件將存取客體儲存器或安全介面控制件儲存器,且必須正確地標示彼存取以便允許硬體驗證彼存取之安全性。1100描述安全介面控制件進行之儲存器存取的此標示。程序流程1100在區塊1110處開始,其中安全介面控制件判定是否正存取安全介面控制件儲存器。
若此並非對安全介面控制件儲存器之存取,則程序流程1100繼續進行至決策區塊1112(如由否箭頭所展示)。在決策區塊1112處,安全介面控制件判定其是否正存取安全客體儲存器。若此並非對安全客體儲存器之存取,則程序流程1100繼續進行至「B」(其連接至圖12之程序流程1200),其將使用預設設定用於非安全存取。若此為對安全客體儲存器之存取,則程序流程1100繼續進行決策區塊1113,其中安全介面控制件判定是否正使用預設安全客體網域。若是,則程序流程1100繼續進行至「B」(其連接至圖12之程序流程1200),其將使用預設設定用於安全客體存取。若否,則程序流程1100繼續進行至區塊1114。在區塊1114處,將適當安全客體網域載入至SG安全網域暫存器中(且繼續進行至「B」,其連接至圖12之程序流程1200)。
若此為對安全介面控制件儲存器之存取,則程序流程1100繼續進行至區塊1120(如由是箭頭所展示)。在區塊1120處,將存取標示為安全UV(例如,使用UV安全網域暫存器)。
程序流程1100接著繼續進行至決策區塊1130,其中安全介面控制件判定此是否為對UVV空間(例如,SG組態變數表)之存取。若其為對UVV空間之存取,則程序流程1100繼續進行至區塊1134(如由是箭頭所展示)。在區塊1134處,將存取標示為虛擬。在區塊1136處,將適用的 安全客體網域載入至UV安全網域暫存器中。在區塊1138處,準備開始DAT轉譯及存取儲存器。返回至決策區塊1130,若此並非對UVV空間之存取,則程序流程1100繼續進行至區塊1140(如由否箭頭所展示)。在區塊1140處,將存取標示為真實。
在決策區塊1150處,安全介面控制件判定此是否為對UVS空間(例如,SG組態或CPU表)之存取。若此為對UVS空間之存取,則程序流程1100繼續進行至區塊1136(如由是箭頭所展示)。若此並非對UVS空間之存取,則程序流程1100繼續進行至區塊1170(如由否箭頭所展示)。此存取將接著為對UV2空間(例如,區域安全性表)之存取。在區塊1170處,將唯一UV2安全網域載入至UV安全網域暫存器中。
圖12描繪根據本發明之一或多個實施例的程序流程1200。當客體經分派時,SIE進入韌體可向硬體指示客體正執行(例如,客體模式在作用中)且可指示客體是否安全。若客體安全,則可將相關聯之安全客體網域載入至硬體中(例如,載入SG安全網域暫存器中)。當程式正存取儲存器時,硬體可在存取時基於程式之當前狀態來標示存取。圖12說明處理流程1200中之此程序的實例。在區塊1205處,硬體可判定機器當前是否正在客體模式中執行,且若否,則可在區塊1210處將存取標示為主機存取且在區塊1215處將存取標示為非安全存取。若在區塊1205處,機器正在客體模式中執行,則可在區塊1220處將存取標示為客體存取,且進一步在區塊1225處判定當前客體是否為安全客體。若客體非安全,則可在區塊1215處將存取標示為非安全。若客體安全,則硬體可在區塊1230處將客體標示為安全,其可使安全客體與在分派安全客體時載入之SG安全網域暫存器相關聯。對於非安全客體及安全客體兩者,可在區塊1235處 檢查DAT狀態。若DAT關閉,則可在區塊1240處將存取標示為真實。若DAT開啟,則可在區塊1245處將存取標示為虛擬。一旦存取由於DAT關閉在區塊1240處標示為真實或由於DAT開啟在區塊1245處標示為虛擬,硬體便在區塊1250處準備好開始轉譯且存取儲存器,如圖13中進一步所描述。
圖13描繪根據本發明之一或多個實施例的程序流程1300中之藉由硬體進行以支援安全存取及非安全存取兩者的轉譯之實例。在區塊1305處,硬體可判定存取是否標示為客體轉譯,且若如此且存取在區塊1310處為虛擬的,則可在區塊1315處執行客體DAT。在客體DAT轉譯期間,可對客體DAT表進行巢套之中間提取。可將表提取標示為客體真實且在原始轉譯標示為安全的情況下標示為安全。表提取亦可遵循程序流程1300之轉譯程序。在於區塊1315處針對標示為客體虛擬之存取執行客體DAT之後且對於在區塊1310處標示為客體真實(虛擬=否)之任何存取,可在區塊1320處應用客體預先指定及客體記憶體位移。在客體轉譯程序完成時,在區塊1325處所得位址可標示為主機虛擬且在原始客體轉譯標示為安全的情況下標示為安全。對於標示為主機虛擬之任何存取,程序1300可繼續。若原始存取在區塊1305處為主機存取(客體=否)且在區塊1330處為虛擬存取,則可執行主機DAT(區塊1335)。在區塊1335處,可將主機表提取標記為非安全。在於區塊1335處執行主機DAT之後或若原始主機存取在區塊1330處標示為真實(虛擬=否),則可在區塊1340處應用主機預先指定。在區塊1345處,所得位址可為主機絕對位址。
圖14描繪根據本發明之一或多個實施例的可由硬體在程序流程1400中執行之具有安全儲存保護的DAT轉譯之實例。自圖13之區塊 1345繼續,若在區塊1405處識別安全UV存取,則硬體可在區塊1410處驗證儲存器是否註冊為安全UV儲存器,且若否,則在區塊1415處呈現錯誤。當存取UV儲存器時,可由安全控制介面進行安全UV存取。若儲存器在區塊1410處註冊為安全UV儲存器,則保護檢查可如可針對任何安全存取執行而繼續,除了UV安全網域暫存器(由安全控制介面在進行安全UV存取之前設置)可用作處理繼續之區塊1420處的域檢查之指定安全網域以外。此外,在區塊1425處針對UV存取偵測到的任何違反(項目點D)可在區塊1430處呈現為錯誤,而非在區塊1435處向超管理器呈現例外,如針對區塊1425處之安全客體違反(安全UV=否)所進行。
對於在區塊1405處未標示為安全UV存取之存取,硬體在區塊1440處判定存取是否為安全客體存取,且若否且若頁面在區塊1445處標記為安全,則可在區塊1435處向超管理器呈現例外。否則,若在區塊1440處存取並非安全客體存取且在區塊1445處頁面未標記為安全,則在區塊1450處,轉譯成功。
若在區塊1440處存取為安全客體存取或在區塊1410處對儲存器之安全UV存取註冊為安全UV儲存器,則硬體可在區塊1420處檢查以確保儲存器註冊至與存取相關聯之安全實體。若此為安全UV存取,則可自UV安全網域暫存器(由安全控制介面基於正被存取之安全UV儲存器而載入)獲得指定安全網域,且對於安全客體存取,自SG安全網域暫存器(在分派安全實體時載入)獲得指定安全網域。若在區塊1420處正被存取之儲存器未註冊至指定安全網域,則對於區塊1425處之安全UV存取,在區塊1430處發生錯誤,且對於區塊1425處之安全客體存取(安全UV=否),在區塊1435處向超管理器呈現例外。
對於在區塊1440及區塊1410處的對在區塊1420處註冊至指定安全網域之儲存器的安全存取,若在區塊1455處停用虛擬位址檢查,亦即,DA位元=1且在區塊1460處,存取真實,則在區塊1450處,轉譯完成。然而,若在區塊1455處DA位元=1但在區塊1460處存取虛擬(真實=否),則對於區塊1425處之安全UV存取,在區塊1430處發生錯誤,且對於區塊1425處之安全客體存取(安全UV=否),在區塊1435處向超管理器呈現例外。若在區塊1455處DA位元=0且在區塊1475處存取為虛擬存取,則硬體可在區塊1470處判定存取之主機虛擬至主機絕對映射是否匹配針對此主機絕對位址而註冊的映射。若匹配,則在區塊1450處,轉譯成功地完成。若在區塊1470處映射並不匹配,則對於區塊1425處之安全UV存取,在區塊1430處發生錯誤,且對於區塊1425處之安全客體存取(安全UV=否),在區塊1435處向超管理器呈現例外。若DA位元=0且在區塊1475處存取為真實存取(虛擬=否),則對於區塊1425處之安全UV存取,在區塊1430處發生錯誤,且對於區塊1425處之安全客體存取(安全UV=否),在區塊1435處向超管理器呈現例外;替代地,在區塊1450處,轉譯可成功地完成。在區塊1480處之藉由I/O子系統進行的任何存取可檢查以在區塊1445處查看頁面是否標記為安全,且若頁面安全,則可在區塊1435處向超管理器呈現例外;若頁面未標記為安全,則在區塊1450處,轉譯成功。
可經由區域安全性表介面1485共同地管理儲存器註冊及映射之各種檢查。舉例而言,區塊1410、1420、1455、1470及1475可與相關聯於同一區域之區域安全性表介接,以管理各種存取。
如上文所論述,DAT用以將虛擬儲存器映射至真實儲存 器。當客體VM在超管理器之控制下作為受可分頁客體執行時,客體使用DAT轉譯來管理駐留於其記憶體中之頁面,且主機在客體頁面駐留於其記憶體中時獨立地使用DAT轉譯來管理彼等頁面(連同其自身頁面)。超管理器使用其DAT轉譯來提供不同VM之間的儲存器隔離及/或共用以及防止對超管理器儲存器之客體存取。超管理器可存取所有客體儲存器。
如本文中所論述,本發明之一或多個實施例利用軟體與機器之間的高效輕型安全介面控制介面以提供此額外安全性。就此而言,使用彼介面,因此安全介面控制件及超管理器可提供頁面管理,其方式為允許超管理器繼續管理安全客體頁面,同時機器(安全介面控制件及硬體)保證此等頁面映射中之安全性。
在一或多個實施例中,安全執行提供保證安全儲存器與非安全儲存器之間以及屬於不同安全使用者之安全儲存器之間的隔離的硬體機制。對於安全客體,在「不受信任」超管理器與安全客體之間提供額外安全性。為進行此操作,超管理器通常代表客體執行之許多功能經由被稱作安全介面控制件(UV)之控制結構併入至機器中。安全介面控制件提供超管理器與安全客體之間的安全介面。安全介面控制件與機器之硬體協作以提供此額外安全性。
安全介面控制件為針對虛擬機器(亦即,在超管理器與安全客體之間)而使用虛擬機器分派作為主要轉變點或針對虛擬可執行碼而使用另一邊界(例如,位址空間改變)作為主要轉譯點來提供的保護機制。
在一個實例中,安全介面控制件(例如,超監督器)實施於內部、安全且受信任的韌體中。對於安全客體或實體,安全介面控制件提供安全環境之初始化及維護以及此等安全實體之分派在硬體上的協調。在 安全客體主動地使用資料且資料駐留於主機儲存器中時,其「以純文字(in the clear)」保存在安全儲存器中。安全儲存器可由彼單一安全客體存取,該安全客體嚴格地由硬體實行。亦即,硬體防止任何非安全實體(包括超管理器或其他非安全客體)或不同安全客體存取彼資料。在此實例中,安全介面控制件作為韌體之最低層級的受信任部分而執行。最低層級可存取儲存器之所有部分,諸如其自身的安全UV儲存器、非安全超管理器儲存器、安全客體儲存器及共用儲存器。此存取允許安全介面控制件提供安全客體或支援彼客體之超管理器所需的任何功能。又,安全介面控制件亦可直接存取硬體,從而允許硬體在由安全介面控制件建立之條件的控制下高效地提供安全性檢查。
軟體使用指令呼叫(例如,UV呼叫(UVC)指令)以請求安全介面控制件執行特定動作。舉例而言,UVC指令可由超管理器使用以初始化安全介面控制件,建立安全客體網域(例如,安全客體組態)且在彼安全組態內建立虛擬CPU。UVC指令亦可用以匯入(解密及指派給安全客體網域)及匯出(加密及允許主機存取)安全客體頁面,作為超管理器分頁移入或分頁移出操作之部分。此外,安全客體能夠定義與超管理器共用之儲存器,使安全儲存器共用且使共用儲存器安全。
類似於許多其他架構化指令,此等UVC命令由機器韌體執行。機器不進入安全介面控制模式,而是機器在其當前正執行之模式中執行安全介面控制功能。不切換內容脈絡以處置此等操作。此低額外負荷允許軟體、受信任韌體及硬體之不同層之間的緊密合作,其方式為最小化及降低安全介面控制件之複雜度,同時仍提供必要的安全等級。
為提供安全性,當超管理器透明地分頁移入及分頁移出安 全客體資料時,與硬體一起工作之安全介面控制件提供及保證資料之解密及加密。為實現此,需要超管理器在分頁移入及分頁移出客體安全資料時發出新的UVC。基於由安全介面控制件在此等新UVC期間設置之控制,硬體將保證此等UVC實際上由超管理器發出。
輕型UVC設計允許超管理器頁面管理繼續進行而無需安全介面控制件遮蔽超管理器表,且因此無需大的額外負荷來提供此遮蔽。此經由使用UV呼叫指令實現以將非安全之經加密頁面轉變至僅允許單一安全客體網域存取之安全經解碼頁面。作為此程序之部分,安全介面控制件保證:對於任何安全客體頁面,對應安全主機虛擬頁面映射至單一主機絕對頁面,僅單一主機虛擬位址映射至任何給定安全主機絕對位址,且安全頁面屬於單一安全客體網域。此外,向安全介面控制件註冊任何安全主機虛擬位址至特定主機絕對頁面之映射,使得硬體將偵測到彼映射之任何改變且呈現例外。
在本文中所描述之安全環境中,每當超管理器分頁移出安全頁面時,需要其發出至安全儲存器轉換(匯出)UVC。回應於此匯出UVC,UV指示頁面「在轉變中」或由UV「鎖定」,對頁面加密,將頁面設定為非安全且重設UV鎖定。一旦匯出UVC完成,超管理器現便可分頁移出經加密之客體頁面。
此外,每當超管理器分頁移入安全頁面時,其必須發出自安全儲存器轉換(匯入)UVC。回應於此匯入UVC,UV在硬體中將頁面標記為安全,指示頁面「在轉變中」或由UV「鎖定」,對頁面解密,且向特定安全客體網域設定授權。每當安全實體進行存取時,硬體在轉譯期間執行關於彼頁面之授權檢查。此等檢查包括驗證頁面實際上確實屬於正試圖 存取其之安全客體網域的檢查,及確保在此頁面已駐留於客體記憶體中時超管理器未改變此頁面之主機映射的檢查。一旦頁面標記為安全,硬體便防止超管理器或非安全客體VM存取任何安全頁面。額外轉譯步驟防止另一安全VM進行存取且防止超管理器進行重新映射。
根據一或多個實施例,來自機器之額外程式中斷向超管理器指示提供新的額外步驟。在此狀況下,此額外步驟可為客體頁面之匯入。硬體防止安全客體存取頁面,直至超管理器完成此額外步驟。此藉由需要安全介面控制件執行出於安全原因而必須在彼安全環境中進行之彼等步驟來提供最少化在安全介面控制件中重複許多超管理器工作的優點。此方法與在匯入UVC期間進行之檢查組合,此消除對安全介面控制件監視且潛在地遮蔽主機DAT表以及相關聯之額外負荷及複雜度的需求。
鑒於上文,關於圖15至圖16論述用於安全介面控制高層級頁面管理之操作。現轉向圖15,描繪根據本發明之一或多個實施例的用於安全介面控制高層級頁面管理之程序流程1500。程序流程1500涵蓋安全實體(例如,VM或容器)1502、硬體1504、不受信任實體(例如,不受信任之非安全實體、超管理器或OS)1506及安全介面控制件1508以說明哪一操作正由安全環境之組件執行。
程序流程1500在區塊1510處開始,其中安全實體1502存取已由不受信任實體1506透明地分頁移入且仍加密(標記為非安全)之安全頁面。在區塊1520處,硬體1504向不受信任實體1506呈現程式中斷,其指示需要對安全客體頁面解密。在區塊1530處,不受信任實體1506發出匯入UVC(例如,匯入指令)。匯入UVC指定主機絕對頁面及主機虛擬頁面作為輸入參數。
在區塊1535處,作為匯入UVC之實施的部分,安全介面控制件1508判定指定主機絕對頁面尚未註冊為經映射,且鎖定主機絕對頁面以供安全介面控制件1508使用(以防止其他UVC或安全實體存取主機絕對頁面)。應注意,若正匯入之頁面已映射(例如,主機虛擬頁面已映射至不同主機絕對頁面或主機絕對頁面已具有映射至其的不同主機虛擬頁面),則向非安全實體呈現錯誤。在區塊1540處,安全介面控制件1508將頁面(例如,主機絕對頁面)標記為安全(以防止非安全實體進行存取)。
在區塊1550處,安全介面控制件1508判定主機虛擬頁面尚未映射至安全絕對頁面且註冊主機虛擬頁面以供安全介面控制件1508使用。應注意,若正匯入之頁面已映射(例如,主機虛擬頁面已映射至不同主機絕對頁面或主機絕對頁面已具有映射至其的不同主機虛擬頁面),則向非安全實體呈現錯誤。
在區塊1560處,安全介面控制件1508安全地對頁面解密以供客體最終使用。在區塊1570處,安全介面控制件1508解鎖主機絕對頁面且將主機絕對頁面註冊為屬於安全特定客體網域,且亦註冊主機虛擬至主機絕對映射。
舉例而言,安全介面控制件1508註冊主機絕對頁面以供安全介面控制件1508使用,安全地對主機絕對頁面解密,隨後取消註冊主機絕對頁面以供安全介面控制件1508使用,且將主機絕對頁面註冊至安全網域。另外,安全介面控制件1508向相關聯之主機絕對頁面註冊主機虛擬位址以建立主機位址對以供安全實體使用,且在安全實體進行存取時檢查主機虛擬位址匹配。
在區塊1580處,不受信任實體重新分派安全實體(例如, 客體或VM)。在區塊1590處,安全實體重新存取現經解密之頁面而無例外。
現轉向圖16,描繪根據本發明之一或多個實施例的用於安全介面控制高層級頁面管理之程序流程1600。程序流程1600涵蓋安全實體(例如,客體)1602、硬體1604及不受信任實體1606以說明哪一操作正由安全環境之組件執行。
程序流程1600在區塊1610處開始,其中安全實體(例如,客體、VM或容器)1602存取安全虛擬頁面。舉例而言,安全實體1602具有與其相關聯之安全網域ID n,且存取安全客體虛擬頁面X.GV。在區塊1620處,硬體1604執行DAT轉譯。舉例而言,硬體1604執行客體虛擬頁面X.GV至主機虛擬頁面X.HV及主機絕對頁面X.HA之DAT轉譯。
接下來,在決策區塊1630處,硬體1604判定安全頁面是否註冊為屬於起始安全存取之安全網域。舉例而言,硬體1604判定安全頁面X.HA是否註冊至安全網域n。若安全頁面未註冊至安全網域n,則程序流程1600繼續進行至區塊1650(如由否箭頭所展示)。在區塊1650處,硬體1604向不受信任實體(例如,超管理器)1606呈現程式例外。若安全頁面經指派給安全客體網域,則程序流程1600繼續進行至決策區塊1670(如由是箭頭所展示)。
在決策區塊1670處,硬體1604判定所註冊主機虛擬位址(對應於所註冊主機位址對)是否匹配自針對安全虛擬存取進行之DAT獲得的主機位址對。舉例而言,硬體1604判定向安全頁面X.HA註冊之主機虛擬位址是否匹配藉由DAT獲得之X.HV。若所註冊位址不匹配DAT結果,則程序流程1600繼續進行至區塊1650(如由否箭頭所展示)。在區塊1650 處,硬體1604向不受信任實體1606呈現例外。若所註冊位址匹配DAT結果,則程序流程1600繼續進行至區塊1690(如由是箭頭所展示)。在區塊1690處,若所有其他保護檢查允許安全實體存取,則硬體1604允許此存取。
應理解,儘管本發明包括關於雲端運算之詳細描述,但本文中所敍述之教示的實施不限於雲端運算環境。更確切而言,本發明之實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為用於使得能夠對可組態運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、VM及服務)之共用集區進行便利之按需網路存取的服務遞送之模型,可組態運算資源可藉由最少的管理工作或與服務提供者之互動而快速地佈建及釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:隨選自助服務:雲端客戶可視需要自動地單向佈建運算能力(諸如,伺服器時間及網路儲存器),而無需與服務提供者之人為互動。
寬頻網路存取:可經由網路獲得能力及經由標準機制存取能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,行動電話、膝上型電腦及PDA)促進使用。
資源集用:提供者之運算資源經集用以使用多租戶模型為多個客戶服務,其中根據需要動態指派及重新指派不同實體及虛擬資源。位置獨立性之意義在於,客戶通常不具有對所提供資源之確切位置的控制或瞭解,但可能能夠按較高抽象等級(例如,國家、州或資料中心)指定位置。
快速彈性:可快速且彈性地佈建能力(在一些狀況下,自動地)以迅速地向外延展,且可快速地釋放能力以迅速地向內延展。在客戶看來,可用於佈建之能力常常看起來為無限的且可在任何時間以任何量來購買。
所量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及作用中使用者帳戶)之某一抽象等級下充分利用計量能力而自動控制及最佳化資源使用。可監視、控制及報告資源使用狀況,從而為所利用服務之提供者及客戶兩者提供透明度。
服務模型如下:軟體即服務(SaaS):提供給客戶之能力係使用在雲端基礎架構上執行之提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網路之電子郵件)之精簡型用戶端介面自各種用戶端裝置存取應用程式。客戶並不管理或控制包括網路、伺服器、作業系統、儲存器或甚至個別應用程式能力之基礎雲端基礎架構,其中可能的例外狀況為有限的使用者特定應用程式組態設置。
平台即服務(PaaS):提供給客戶之能力係將使用由提供者所支援之程式設計語言及工具建立的客戶建立或獲取之應用程式部署至雲端基礎架構上。客戶並不管理或控制包括網路、伺服器、作業系統或儲存器之基礎雲端基礎架構,但控制所部署之應用程式及可能的代管環境組態之應用程式。
基礎架構即服務(IaaS):提供給客戶之能力係佈建處理、儲存、網絡及其他基礎運算資源,其中客戶能夠部署及執行可包括作業系統及應用程式之任意軟體。客戶並不管理或控制基礎雲端基礎架構,但控 制作業系統、儲存器、所部署應用程式,及可能有限地控制選擇網路連接組件(例如,主機防火牆)。
部署模型如下:私用雲端:僅為組織操作雲端基礎架構。私用雲端可由組織或第三方來管理且可存在內部部署或外部部署。
社群雲端:雲端基礎架構由若干組織共用且支援分擔問題(例如,任務、安全要求、策略及順應性考量)的特定社群。社群雲端可由組織或第三方來管理且可存在內部部署或外部部署。
公開雲端:該雲端基礎架構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:該雲端基礎架構為兩個或多於兩個雲端(私用、社群或公開)之組合物,其保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡之雲端叢發)之標準化或專屬技術繫結在一起。
藉由集中於無國界、低耦合、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵為包括互連節點之網路的基礎架構。
現參看圖17,描繪說明性雲端運算環境50。如所展示,雲端運算環境50包括一或多個雲端運算節點10,雲端客戶所使用之諸如個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N的本端運算裝置可與該一或多個雲端運算節點通信。節點10可彼此通信。可在一或多個網路(諸如,如上文所描述之私用、社群、公開或混合雲端或其組合)中將該等節點實體地或虛擬地分組 (未展示)。此允許雲端運算環境50供應基礎架構、平台及/或軟體作為服務,針對該等服務,雲端客戶不需要在本端運算裝置上維持資源。應理解,圖17中所展示之運算裝置54A至54N之類型意欲僅為說明性的,且運算節點10及雲端運算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通信。
現參看圖18,展示藉由雲端運算環境50(圖17)所提供之功能抽象層之集合。事先應理解,圖18中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:硬體及軟體層60包括硬體及軟體組件。硬體組件之實例包括:大型電腦61;基於精簡指令集電腦(RISC)架構之伺服器62;伺服器63;刀鋒伺服器64;儲存裝置65;以及網路及網路連接組件66。在一些實施例中,軟體組件包括網路應用程式伺服器軟體67及資料庫軟體68。
虛擬化層70提供抽象層,可自該抽象層提供虛擬實體之以下實例:虛擬伺服器71;虛擬儲存器72;虛擬網路73,包括虛擬私用網路;虛擬應用程式及作業系統74;以及虛擬用戶端75。
在一個實例中,管理層80可提供下文所描述之功能。資源佈建81提供運算資源及用以執行雲端運算環境內之任務之其他資源的動態採購。當在雲端運算環境內利用資源時,計量及定價82提供成本追蹤,及對此等資源之消耗之帳務處理及發票開立。在一個實例中,此等資源可包括應用程式軟體授權。安全性提供針對雲端客戶及任務之身分識別驗證,以及對資料及其他資源之保護。使用者入口網站83為客戶及系統管理器提供對雲端運算環境之存取。服務等級管理84提供雲端運算資源分配及管理 使得滿足所需服務等級。服務等級協議(SLA)規劃及實現85提供雲端運算資源之預先配置及採購,針對雲端運算資源之未來要求係根據SLA來預期。
工作負載層90提供功能性之實例,可針對該功能性利用雲端運算環境。可自此層提供之工作負載及功能的實例包括:地圖測繪及導航91;軟體開發及生命週期管理92;虛擬教室教育遞送93;資料分析處理94;異動處理95;及高層級頁面管理96。應理解,此等僅為一些實例且在其他實施例中,該等層可包括不同服務。
現轉向圖19,描繪根據本發明之一或多個實施例的系統1900。系統1900包括與一或多個用戶端裝置20A至20E直接或間接通信(諸如,經由網路165)之實例節點10(例如,代管節點)。節點10可為雲端運算提供者之資料中心或主機伺服器。節點10執行超管理器12,其促進部署一或多個VM 15(15A至15N)。節點10進一步包括硬體/韌體層11,其直接支援VM 15A至15N及超管理器12所需之功能以及促進超管理器12向VM 15提供一或多個服務。在當代實施方案中,在硬體/韌體層11與超管理器12之間、在硬體/韌體層11與VM 15之間、在超管理器12與VM 15之間及經由硬體/韌體層11在超管理器12與VM 15之間提供通信。根據本發明之一或多個實施例,在硬體/韌體層11中提供安全介面控制件,且消除超管理器12與VM 15之間的直接通信。
舉例而言,節點10可促進用戶端裝置20A部署VM 15A至15N中之一或多者。可回應於來自相異用戶端裝置20A至20E之各別請求而部署VM 15A至15N。舉例而言,VM 15A可由用戶端裝置20A部署,VM 15B可由用戶端裝置20B部署且VM 15C可由用戶端裝置20C部署。節 點10亦可促進用戶端佈建實體伺服器(不作為VM執行)。本文中所描述之實例將節點10中之資源的佈建作為VM之部分來體現,然而,亦可應用所描述之技術解決方案以作為實體伺服器之部分來佈建資源。
在一實例中,用戶端裝置20A至20E可屬於同一實體,諸如個人、企業、政府機構、公司內的部門或任何其他實體,且節點10可作為實體之私用雲端操作。在此狀況下,節點10僅代管由屬於該實體之用戶端裝置20A至20E部署的VM 15A至15N。在另一實例中,用戶端裝置20A至20E可屬於相異實體。舉例而言,第一實體可擁有用戶端裝置20A,而第二實體可擁有用戶端裝置20B。在此狀況下,節點10可作為代管來自不同實體之VM的公用雲端操作。舉例而言,可按遮蔽方式部署VM 15A至15N,其中VM 15A不便於存取VM 15B。舉例而言,節點10可使用IBM z Systems®處理器資源/系統管理器(PR/SM)邏輯分割區(LPAR)特徵來遮蔽VM 15A至15N。諸如PR/SM LPAR之此等特徵提供分割區之間的隔離,因此促進節點10在不同邏輯分割區中部署同一實體節點10上之不同實體的兩個或多於兩個VM 15A至15N。
來自用戶端裝置20A至20E之用戶端裝置20A為通信設備,諸如電腦、智慧型手機、平板電腦、桌上型電腦、膝上型電腦、伺服器電腦或請求節點10之超管理器12部署VM的任何其他通信設備。用戶端裝置20A可經由網路165發送供超管理器接收之請求。來自VM 15A至15N之VM 15A為超管理器12回應於來自用戶端裝置20A至20E中之用戶端裝置20A的請求而部署的VM映像。超管理器12為VM監視器(VMM),其可為建立及執行VM之軟體、韌體或硬體。超管理器12促進VM 15A使用節點10之硬體組件以執行程式及/或儲存資料。藉由適當特徵及修改,超管理 器12可為IBM z Systems®、Oracle's VM Server,Citrix's XenServer,Vmware's ESX,Microsoft Hyper-V超管理器或任何其他超管理器。超管理器12可為直接在節點10上執行之原生超管理器或在另一超管理器上執行之代管超管理器。
現轉向圖20,展示根據本發明之一或多個實施例的用於實施本文中之教示的節點10。節點10可為電子電腦架構,其包含及/或使用利用各種通信技術之任何數目個運算裝置及網路以及其組合,如本文中所描述。節點10可為易於可調、可擴充及模組化的,能夠改變至不同服務或獨立於其他特徵而重新組態一些特徵。
在此實施例中,節點10具有處理器2001,其可包括一或多個中央處理單元(CPU)2001a、2001b、2001c等。亦被稱作處理電路、微處理器、運算單元之處理器2001經由系統匯流排2002耦接至系統記憶體2003及各種其他組件。系統記憶體2003包括唯讀記憶體(ROM)2004及隨機存取記憶體(RAM)2005。ROM 2004耦接至系統匯流排2002,且可包括控制節點10之某些基本功能的基本輸入/輸出系統(BIOS)。RAM為耦接至系統匯流排2002以供處理器2001使用之讀取-寫入記憶體。
圖20之節點10包括硬碟2007,其為可由處理器2001執行之可讀取的有形儲存媒體之實例。硬碟2007儲存軟體2008及資料2009。軟體2008儲存為指令以在節點10上由處理器2001執行(以執行程序,諸如參看圖1至圖19所描述之程序)。資料2009包括組織於各種資料結構中之定性或定量變數的值之集合以支援軟體2008之操作且由該等操作使用。
圖20之節點10包括一或多個配接器(例如,硬碟控制器、網路配接器、圖形配接器等),其互連處理器2001、系統記憶體2003、硬 碟2007以及節點10之其他組件(例如,周邊及外部裝置)且支援其間的通信。在本發明之一或多個實施例中,一或多個配接器可連接至一或多個I/O匯流排,其經由中間匯流排橋接器連接至系統匯流排2002,且一或多個I/O匯流排可利用共同協定,諸如周邊組件互連(PCI)。
如所展示,節點10包括將鍵盤2021、滑鼠2022、揚聲器2023及麥克風2024互連至系統匯流排2002之介面配接器2020。節點10包括將系統匯流排2002互連至顯示器2031之顯示配接器2030。顯示配接器2030(及/或處理器2001)可包括圖形控制器以提供圖形效能,諸如GUI 2032之顯示及管理。通信配接器2041將系統匯流排2002與網路2050互連,從而使得節點10能夠與其他系統、裝置、資料及軟體(諸如,伺服器2051及資料庫2052)通信。在本發明之一或多個實施例中,軟體2008及資料2009之操作可藉由伺服器2051及資料庫2052在網路2050上實施。舉例而言,網路2050、伺服器2051及資料庫2052可組合以提供軟體2008及資料2009之內部反覆,作為平台即服務、軟體即服務及/或基礎架構即服務(例如,作為分散式系統中之網路應用程式)。
本文中所描述之實施例必定植根於電腦技術,且特定而言為代管VM之電腦伺服器。另外,本發明之一或多個實施例藉由促進代管VM之電腦伺服器代管安全VM來促進改良運算技術本身,特定而言為代管VM之電腦伺服器的操作,其中甚至禁止超管理器存取記憶體、暫存器及與安全VM相關聯之其他此資料。此外,本發明之一或多個實施例藉由使用安全介面控制件(在本文中亦被稱作「UV」)來提供朝向改良代管運算伺服器之VM的重要步驟,以促進安全VM與超管理器之分離且因此維持由運算伺服器代管之VM的安全性,該安全介面控制件包括硬體、韌體 (例如,微碼)或其組合。安全介面控制件提供輕型中間操作以促進安全性,而不會在VM之初始化/退出期間添加確保VM狀態安全的大量額外負荷,如本文中所描述。
本文中所揭示之本發明之實施例可包括實施安全介面控制高層級頁面管理之系統、方法及/或電腦程式產品(本文中為系統)。應注意,對於每種解釋,用於元件之識別符重新用於不同圖式之其他類似元件。
本文中參看相關圖式描述本發明之各種實施例。可在不脫離本發明之範疇的情況下設計本發明之替代實施例。在以下描述及圖式中,闡述元件之間的各種連接及位置關係(例如,上方、下方、鄰近等)。除非另外規定,否則此等連接及/或位置關係可為直接或間接的,且本發明在此方面不意欲為限制性的。相應地,實體之耦接可指直接抑或間接耦接,且實體之間之位置關係可為直接或間接位置關係。此外,本文中所描述之各種任務及程序步驟可併入至具有未詳細地描述於本文中之額外步驟或功能性的更全面程序或處理程序中。
以下定義及縮寫將用於解譯申請專利範圍及本說明書。如本文中所使用,術語「包含(comprises/comprising)」、「包括(includes/including)」、「具有(has/having)」、「含有(contains或containing)」或其任何其他變體意欲涵蓋非排他性包括。舉例而言,包含一系列元件之組合物、混合物、程序、方法、物品或設備未必僅限於彼等元件,而是可包括未明確地列出或此類組合物、混合物、程序、方法、物品或設備所固有的其他元件。
另外,術語「例示性」在本文中用於意謂「充當實例、例 子或說明」。不必將本文中描述為「例示性」之任何實施例或設計理解為比本發明之其他實施例或設計較佳或有利。術語「至少一個」及「一或多個」可理解為包括大於或等於一個之任何整數數目,亦即,一個、兩個、三個、四個等。術語「複數個」可理解為包括大於或等於兩個之任何整數數目,亦即,兩個、三個、四個、五個等。術語「連接」可包括間接「連接」及直接「連接」兩者。
術語「約」、「大體上」、「大約」及其變體意欲包括與基於在申請本申請案時可用的設備之特定量的量測相關聯之誤差度。舉例而言,「約」可包括給定值之±8%或5%或2%的範圍。
本發明可為在任何可能之技術細節整合層級處的系統、方法及/或電腦程式產品。該電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器進行本發明之態樣。
電腦可讀儲存媒體可為有形裝置,其可持留及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可為例如但不限於電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例的非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)、記憶棒、軟碟、機械編碼裝置(諸如,上面記錄有指令之凹槽中之打孔卡片或凸起結構)及前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如, 經由光纖纜線傳遞之光脈衝),或經由導線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理裝置或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸纜線、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理裝置內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合編寫之組譯器指令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設置資料、用於積體電路系統之組態資料,或原始程式碼或目標程式碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者電腦上執行,作為單獨套裝軟體部分地在使用者之電腦上執行,部分地在使用者之電腦上及部分地在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可連接至外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,電子電路系統(包括例如可程式化邏輯電路系統、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA))可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本發明之態樣。
本文參考根據本發明之實施例之方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖中之每一區塊,及流程圖說明及/或方塊圖中的區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理設備之處理器以產生機器,使得經由該電腦或其他可程式化資料處理設備之處理器執行之指令建立用於實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之構件。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,使得儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施在該一或多個流程圖及/或方塊圖區塊中指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理設備或其他裝置上,以使一系列操作步驟在該電腦、其他可程式化設備或其他裝置上執行以產生電腦實施之程序,使得在該電腦、其他可程式化設備或其他裝置上執行之指令實施在該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例的系統、方法及電腦程式產品之可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、區段或部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中所提及之功能可不按諸圖中所提及之次序發生。舉例而言,以連續方式展示的兩個區塊實際上可實質上同時執行,或該等區塊有時可以相反次 序執行,此取決於所涉及的功能性。亦應注意,可由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統實施方塊圖及/或流程圖說明之每一區塊及方塊圖及/或流程圖說明中之區塊的組合。
本文中所使用之術語僅出於描述特定實施例之目的,且並不意欲為限制性的。如本文中所使用,除非上下文另外明確地指示,否則單數形式「一(a、an)」及「該」意欲亦包括複數形式。應進一步理解,術語「包含(comprises及/或comprising)」在用於本說明書中時指定所陳述特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組之存在或添加。
各種實施例之描述在本文中已出於說明的目的呈現,但不意欲為詳盡的或限於所揭示之實施例。在不脫離所描述實施例之範疇及精神的情況下,一般熟習此項技術者將顯而易見許多修改及變化。本文中所使用之術語經選擇以最佳解釋實施例之原理、實際應用或對市場中發現的技術之技術改良,或使得其他一般熟習此項技術者能夠理解本文中所揭示之實施例。
700:用於匯入操作之程序流程

Claims (22)

  1. 一種電腦實施的方法,其包含:一電腦之安全介面控制件,其藉由防止對該電腦之一記憶體中的位置之未授權存取,判定一主機絕對頁面先前未映射至一虛擬頁面來確保一主機絕對頁面安全;根據確保該主機絕對頁面安全,藉由該安全介面控制件判定一主機虛擬頁面尚未映射至一絕對頁面;及該安全介面控制件將該主機絕對頁面標記為安全。
  2. 如請求項1之方法,其中該安全介面控制件註冊該主機絕對頁面以供該安全介面控制件使用,安全地對該主機絕對頁面解密,隨後取消註冊該主機絕對頁面以供該安全介面控制件使用,且將該主機絕對頁面註冊至安全網域。
  3. 如請求項2之方法,其中該安全介面控制件向相關聯之主機絕對頁面註冊主機虛擬位址以建立一主機位址對以供安全實體使用,且在該安全實體進行存取時檢查該等主機虛擬位址匹配。
  4. 如請求項2之方法,其中該安全介面控制件鎖定該主機絕對頁面以供該安全介面控制件使用,從而防止對該主機絕對頁面之其他呼叫。
  5. 如請求項4之方法,其中該安全介面控制件解鎖該主機絕對頁面以指 派載入至該記憶體中之一安全客體網域。
  6. 如請求項1之方法,其中一安全實體存取已由在該電腦執行之一不受信任實體透明地分頁移入且非安全的一安全頁面。
  7. 如請求項6之方法,其中該不受信任實體為一超管理器,且其中該安全實體為一安全客體。
  8. 如請求項6之方法,其中硬體向該不受信任實體呈現一程式中斷,其指示對一安全客體頁面解密之一需要。
  9. 如請求項8之方法,其中該不受信任實體發出一匯入指令,其提供該主機絕對頁面及該主機虛擬頁面。
  10. 一種電腦程式產品,其包含一電腦可讀儲存媒體,該電腦可讀儲存媒體具有與其一起體現之程式指令,該等程式指令可執行以引起包含以下各者之操作:一電腦之安全介面控制件,其藉由防止對該電腦之一記憶體中的位置之未授權存取,判定一主機絕對頁面先前未映射至一虛擬頁面來確保一主機絕對頁面安全;根據確保該主機絕對頁面安全,藉由該安全介面控制件判定一主機虛擬頁面尚未映射至一絕對頁面;及該安全介面控制件將該主機絕對頁面標記為安全。
  11. 如請求項10之電腦程式產品,其中該安全介面控制件註冊該主機絕對頁面以供該安全介面控制件使用,安全地對該主機絕對頁面解密,隨後取消註冊該主機絕對頁面以供該安全介面控制件使用,且將該主機絕對頁面註冊至安全網域。
  12. 如請求項11之電腦程式產品,其中該安全介面控制件向相關聯之主機絕對頁面註冊主機虛擬位址以建立一主機位址對以供安全實體使用,且在該安全實體進行存取時檢查該等主機虛擬位址匹配。
  13. 如請求項11之電腦程式產品,其中該安全介面控制件鎖定該主機絕對頁面以供該安全介面控制件使用,從而防止對該主機絕對頁面之其他呼叫。
  14. 如請求項13之電腦程式產品,其中該安全介面控制件解鎖該主機絕對頁面以指派載入至該記憶體中之一安全客體網域。
  15. 如請求項10之電腦程式產品,其中一安全實體存取已由在該電腦執行之一不受信任實體透明地分頁移入且非安全的一安全頁面。
  16. 如請求項15之電腦程式產品,其中該不受信任實體為一超管理器,且其中該安全實體為一安全客體。
  17. 如請求項15之電腦程式產品,其中硬體向該不受信任實體呈現一程式中斷,其指示對一安全客體頁面解密之一需要。
  18. 如請求項17之電腦程式產品,其中該不受信任實體發出一匯入指令,其提供該主機絕對頁面及該主機虛擬頁面。
  19. 一種電腦系統,其包含:一記憶體;該系統之一安全介面控制件,其防止對該記憶體中之位置的未授權存取,其中該系統執行包含以下各者之操作:一電腦之安全介面控制件,其藉由防止對該電腦之一記憶體中的位置之未授權存取,判定一主機絕對頁面先前未映射至一虛擬頁面來確保一主機絕對頁面安全;根據確保該主機絕對頁面安全,藉由該安全介面控制件判定一主機虛擬頁面尚未映射至一絕對頁面;及該安全介面控制件將該主機絕對頁面標記為安全。
  20. 如請求項19之系統,其中該安全介面控制件註冊該主機絕對頁面以供該安全介面控制件使用,安全地對該主機絕對頁面解密,隨後取消註冊該主機絕對頁面以供該安全介面控制件使用,且將該主機絕對頁面註冊至安全網域。
  21. 如請求項20之系統,其中該安全介面控制件向相關聯之主機絕對頁面註冊主機虛擬位址以建立一主機位址對以供安全實體使用,且在該安全實體進行存取時檢查該等主機虛擬位址匹配。
  22. 如請求項20之系統,其中該安全介面控制件鎖定該主機絕對頁面以供該安全介面控制件使用,從而防止對該主機絕對頁面之其他呼叫。
TW109104344A 2019-03-08 2020-02-12 用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品 TWI748338B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/296,457 US11347869B2 (en) 2019-03-08 2019-03-08 Secure interface control high-level page management
US16/296,457 2019-03-08

Publications (2)

Publication Number Publication Date
TW202101265A TW202101265A (zh) 2021-01-01
TWI748338B true TWI748338B (zh) 2021-12-01

Family

ID=69770912

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109104344A TWI748338B (zh) 2019-03-08 2020-02-12 用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品

Country Status (9)

Country Link
US (1) US11347869B2 (zh)
EP (1) EP3935509A1 (zh)
JP (1) JP7393846B2 (zh)
KR (1) KR20210118877A (zh)
CN (1) CN113544654A (zh)
SG (1) SG11202105433TA (zh)
TW (1) TWI748338B (zh)
WO (1) WO2020182638A1 (zh)
ZA (1) ZA202105809B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308215B2 (en) * 2019-03-08 2022-04-19 International Business Machines Corporation Secure interface control high-level instruction interception for interruption enablement
US11347529B2 (en) 2019-03-08 2022-05-31 International Business Machines Corporation Inject interrupts and exceptions into secure virtual machine
US11206128B2 (en) 2019-03-08 2021-12-21 International Business Machines Corporation Secure paging with page change detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178987A2 (en) * 2014-02-28 2015-11-26 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
EP2630608B1 (en) * 2010-10-20 2016-01-20 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting multi-user sensitive code and data
TWI556107B (zh) * 2014-08-15 2016-11-01 英特爾股份有限公司 用於安全虛擬機器間共用記憶體通訊之技術
TW201729136A (zh) * 2015-08-18 2017-08-16 英特爾股份有限公司 安全區之平台遷移
CN107667350A (zh) * 2015-06-15 2018-02-06 英特尔公司 基于虚拟化的平台保护技术

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
US5343527A (en) 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6021201A (en) 1997-01-07 2000-02-01 Intel Corporation Method and apparatus for integrated ciphering and hashing
US6983365B1 (en) 2000-05-05 2006-01-03 Microsoft Corporation Encryption systems and methods for identifying and coalescing identical objects encrypted with different keys
US20020049878A1 (en) * 2000-10-23 2002-04-25 Giora Biran Data communications interfaces
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
WO2005036367A2 (en) 2003-10-08 2005-04-21 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
EP1870814B1 (en) 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7653819B2 (en) 2004-10-01 2010-01-26 Lenovo Singapore Pte Ltd. Scalable paging of platform configuration registers
US7886363B2 (en) 2006-05-24 2011-02-08 Noam Camiel System and method for virtual memory and securing memory in programming languages
EP1870813B1 (en) 2006-06-19 2013-01-30 Texas Instruments France Page processing circuits, devices, methods and systems for secure demand paging and other operations
US20080077767A1 (en) 2006-09-27 2008-03-27 Khosravi Hormuzd M Method and apparatus for secure page swapping in virtual memory systems
US20090113111A1 (en) 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US8176280B2 (en) * 2008-02-25 2012-05-08 International Business Machines Corporation Use of test protection instruction in computing environments that support pageable guests
GB2460393B (en) 2008-02-29 2012-03-28 Advanced Risc Mach Ltd A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry
US8833437B2 (en) 2009-05-06 2014-09-16 Holtec International, Inc. Heat exchanger apparatus for converting a shell-side liquid into a vapor
US20120185699A1 (en) 2011-01-14 2012-07-19 International Business Machines Corporation Space-efficient encryption with multi-block binding
WO2012164721A1 (ja) 2011-06-02 2012-12-06 三菱電機株式会社 鍵情報生成装置及び鍵情報生成方法
KR101323858B1 (ko) 2011-06-22 2013-11-21 한국과학기술원 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
US8681813B2 (en) 2011-11-29 2014-03-25 Wyse Technology L.L.C. Bandwidth optimization for remote desktop protocol
EP3364297B1 (en) 2012-06-26 2022-05-04 Lynx Software Technologies Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection prevention, and/or other features
US8910238B2 (en) 2012-11-13 2014-12-09 Bitdefender IPR Management Ltd. Hypervisor-based enterprise endpoint protection
WO2014081611A2 (en) 2012-11-20 2014-05-30 Unisys Corporation Error recovery in securely partitioned virtualization system with dedicated resources
US8931108B2 (en) 2013-02-18 2015-01-06 Qualcomm Incorporated Hardware enforced content protection for graphics processing units
US9483639B2 (en) 2014-03-13 2016-11-01 Unisys Corporation Service partition virtualization system and method having a secure application
WO2015176029A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization such as hypervisor, pages of interest, and/or other features
US9251090B1 (en) * 2014-06-03 2016-02-02 Amazon Technologies, Inc. Hypervisor assisted virtual memory obfuscation
US9672354B2 (en) * 2014-08-18 2017-06-06 Bitdefender IPR Management Ltd. Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine
US9305661B2 (en) 2014-09-03 2016-04-05 Microsemi Storage Solutions (U.S.), Inc. Nonvolatile memory system that uses programming time to reduce bit errors
CN105512559B (zh) 2014-10-17 2019-09-17 阿里巴巴集团控股有限公司 一种用于提供访问页面的方法与设备
US10599458B2 (en) 2015-01-23 2020-03-24 Unisys Corporation Fabric computing system having an embedded software defined network
US10157146B2 (en) * 2015-02-12 2018-12-18 Red Hat Israel, Ltd. Local access DMA with shared memory pool
US9720721B2 (en) 2015-07-01 2017-08-01 International Business Machines Corporation Protected guests in a hypervisor controlled system
US9734088B2 (en) * 2015-08-12 2017-08-15 International Business Machines Corporation Memory management unit and method for accessing data
US10742603B2 (en) 2015-08-26 2020-08-11 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University System and method for monitoring and protecting an untrusted operating system by means of a trusted operating system
US9841987B2 (en) 2015-12-17 2017-12-12 International Business Machines Corporation Transparent secure interception handling
US20170277898A1 (en) * 2016-03-25 2017-09-28 Advanced Micro Devices, Inc. Key management for secure memory address spaces
US10116630B2 (en) * 2016-04-04 2018-10-30 Bitdefender IPR Management Ltd. Systems and methods for decrypting network traffic in a virtualized environment
WO2017211651A1 (en) 2016-06-08 2017-12-14 Thomson Licensing Devices and methods for core dump deduplication
US10671542B2 (en) * 2016-07-01 2020-06-02 Intel Corporation Application execution enclave memory method and apparatus
US10237245B2 (en) 2016-07-15 2019-03-19 International Business Machines Corporation Restricting guest instances in a shared environment
US10303899B2 (en) 2016-08-11 2019-05-28 Intel Corporation Secure public cloud with protected guest-verified host control
US10176122B2 (en) * 2016-10-19 2019-01-08 Advanced Micro Devices, Inc. Direct memory access authorization in a processing system
US10169577B1 (en) * 2017-03-28 2019-01-01 Symantec Corporation Systems and methods for detecting modification attacks on shared physical memory
EP3602376B1 (en) * 2017-03-29 2022-03-30 Advanced Micro Devices, Inc. Monitoring of memory page transitions between a hypervisor and a virtual machine
US20180341529A1 (en) 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Hypervisor-based secure container
US10693844B2 (en) 2017-08-24 2020-06-23 Red Hat, Inc. Efficient migration for encrypted virtual machines by active page copying
US11206128B2 (en) 2019-03-08 2021-12-21 International Business Machines Corporation Secure paging with page change detection
US11403409B2 (en) 2019-03-08 2022-08-02 International Business Machines Corporation Program interruptions for page importing/exporting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2630608B1 (en) * 2010-10-20 2016-01-20 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting multi-user sensitive code and data
WO2015178987A2 (en) * 2014-02-28 2015-11-26 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
TWI556107B (zh) * 2014-08-15 2016-11-01 英特爾股份有限公司 用於安全虛擬機器間共用記憶體通訊之技術
CN107667350A (zh) * 2015-06-15 2018-02-06 英特尔公司 基于虚拟化的平台保护技术
TW201729136A (zh) * 2015-08-18 2017-08-16 英特爾股份有限公司 安全區之平台遷移

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Seongwook Jin, Jeongseob Ahn, Sanghoon Cha, and Jaehyuk Huh, Architectural Support for Secure Virtualization under a Vulnerable Hypervisor, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 2017/2/13 *

Also Published As

Publication number Publication date
EP3935509A1 (en) 2022-01-12
WO2020182638A1 (en) 2020-09-17
KR20210118877A (ko) 2021-10-01
SG11202105433TA (en) 2021-06-29
CN113544654A (zh) 2021-10-22
JP2022523522A (ja) 2022-04-25
JP7393846B2 (ja) 2023-12-07
US11347869B2 (en) 2022-05-31
ZA202105809B (en) 2023-02-22
TW202101265A (zh) 2021-01-01
US20200285758A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
CN113544645B (zh) 在安全虚拟机环境中测试存储保护硬件
KR102551936B1 (ko) 보안 인터페이스 컨트롤 스토리지를 위한 호스트 가상 주소 공간
JP7379512B2 (ja) セキュア・ドメインと非セキュア・エンティティとの間のストレージ共用
CN113544655B (zh) 安全接口控件安全存储硬件标记
JP7350868B2 (ja) 複数のセキュリティ・ドメインにわたるセキュア・メモリの共用
TWI748338B (zh) 用於安全介面控制高層級頁面管理之電腦實施方法、電腦系統及電腦程式產品
CN113544642A (zh) 安全存储查询和捐献
JP7410161B2 (ja) ページ変更検出によるセキュアなページング
CN113544646B (zh) 安全存储隔离
CA3132752A1 (en) Secure interface control high-level instruction interception for interruption enablement
TWI838460B (zh) 用於安全介面控制件之通信介面之電腦實施的方法、電腦系統及電腦程式產品
TW202101208A (zh) 安全介面控制件之通信介面