TWI734379B - 用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品 - Google Patents

用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品 Download PDF

Info

Publication number
TWI734379B
TWI734379B TW109104345A TW109104345A TWI734379B TW I734379 B TWI734379 B TW I734379B TW 109104345 A TW109104345 A TW 109104345A TW 109104345 A TW109104345 A TW 109104345A TW I734379 B TWI734379 B TW I734379B
Authority
TW
Taiwan
Prior art keywords
hypervisor
computer
host server
restart
memory
Prior art date
Application number
TW109104345A
Other languages
English (en)
Other versions
TW202101207A (zh
Inventor
維克多 米海爾洛斯基
克勞迪亞 尹布蘭達
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 TW202101207A publication Critical patent/TW202101207A/zh
Application granted granted Critical
Publication of TWI734379B publication Critical patent/TWI734379B/zh

Links

Images

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

本發明提供一種用於啟動一安全客體之方法,其包括藉由在一主機伺服器上執行之一超管理器接收在該主機伺服器上分派一虛擬機器(VM)之一請求。該VM係藉由該超管理器在該主機伺服器上分派。該VM包括一重新開機指令。該重新開機指令係由該超管理器觸發從而以一安全模式重新啟動該VM。

Description

用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品
本發明大體上係關於電腦技術,且更具體而言,係關於使用初始程式載入(IPL)機制啟動安全客體。
雲端運算及儲存向使用者提供了在第三方資料中心中儲存及處理其資料之能力。雲端運算促進能夠快速且容易地為客戶佈建虛擬機器(VM),而不需要客戶購買硬體或為實體伺服器提供佔用面積。客戶可根據改變之客戶偏好或要求來擴展或收縮VM。通常,雲端運算提供者佈建VM,其實體上駐留於提供者之資料中心處的伺服器上。客戶常常擔心VM中之資料的安全性,此尤其係因為運算提供者常常在同一伺服器上儲存多於一個客戶之資料。客戶可能需要其自身程式碼/資料與雲端運算提供者之間以及其自身程式碼/資料與在提供者之站台處執行的其他VM之自身程式碼/資料之間的安全性。此外,客戶可能希望提供者之管理員提供安全性以及希望避免由在機器上執行之其他程式碼可能造成的安全漏洞。
為了處置此等敏感情形,雲端服務提供者可實施安全控制以確保適當的資料隔離及邏輯儲存分隔。虛擬化在實施雲端基礎架構中之廣泛使用為雲端服務之客戶帶來獨特的安全性問題,此係因為虛擬化更改 作業系統(OS)與基礎硬體(無論為運算、儲存或甚至網路連接)之間的關係。此引入虛擬化作為額外層,其自身必須經適當地組態、管理及保證安全。
根據本發明之一或多個實施例,一種非限制性實例方法包括藉由在主機伺服器上執行之超管理器接收在主機伺服器上分派虛擬機器(VM)之請求。該VM係藉由超管理器在主機伺服器上分派。該VM包括重新開機指令。該重新開機指令係由超管理器觸發從而以安全模式重新啟動VM。一或多個實施例之技術效應及益處可包括能夠使用正由非安全VM執行之重新開機指令來啟動安全VM。
根據本發明之額外或替代實施例,重新開機指令利用初始程式載入(IPL)機制。技術效應及益處可包括能夠使用標準IPL機制來啟動安全VM。
根據本發明之額外或替代實施例,分派包括將VM之經加密映像載入至主機伺服器之記憶體中,及將包含重新開機指令之未經加密自啟組件載入至記憶體中。技術效應及益處可包括超管理器能夠以非安全模式啟動VM而無需首先對VM之映像解密。
根據本發明之額外或替代實施例,分派進一步包括將控制轉移至未經加密自啟組件。技術效應及益處可包括超管理器能夠以非安全模式啟動VM而無需首先對VM之映像解密,且接著將控制轉移至自啟組件用於以安全模式重新啟動VM。
根據本發明之額外或替代實施例,VM在分派之後包括經加密組件。技術效應及益處可包括超管理器能夠以非安全模式啟動VM而 無需首先對VM之映像解密。
根據本發明之額外或替代實施例,重新啟動包括對VM之經加密組件解密。技術效應及益處可包括作為重新啟動程序之部分,對經加密VM映像解密。
根據本發明之額外或替代實施例,由超管理器分派之VM處於非安全模式中,且VM之資料可由超管理器存取。技術效應及益處可包括超管理器能夠以非安全模式啟動VM而無需首先對VM之映像解密。
根據本發明之額外或替代實施例,基於VM處於安全模式中之判定,防止超管理器存取VM之任何資料。技術效應及益處可包括能夠提供安全VM環境。
根據本發明之額外或替代實施例,主機伺服器上之VM包括VM之經加密映像。此外,觸發重新開機指令包括超管理器呼叫安全介面控制件以安全模式執行重新啟動,超管理器指定主機伺服器上之VM之經加密映像的位置以及解密資訊。
根據本發明之額外或替代實施例,執行重新啟動包括藉由安全介面控制件基於解密資訊對VM解密。其亦包括基於經解密VM重新啟動VM,其中在重新啟動之後,防止超管理器存取VM之任何資料。
本發明之其他實施例在電腦系統及電腦程式產品中實施上述方法之特徵。
額外特徵及優點經由本發明之技術實現。本文中詳細描述本發明之其他實施例及態樣且將其視為本發明之一部分。為更好地理解具有該等優點及特徵的本發明,參考描述及圖式。
10:雲端運算節點
11:硬體/韌體層
12:超管理器
15:VM
15A:VM
15B:VM
15C:VM
15D:VM
15N:VM
20A:用戶端裝置
20B:用戶端裝置
20C:用戶端裝置
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:用於使用IPL機制啟動安全客體的系統
102:客體位址空間
104:基本輸入/輸出系統(BIOS)
106:未經加密自啟組件
108:客體
165:網路
200:用於使用初始程式載入(IPL)機制啟動安全客體之程序
300:系統
308:映像
400:IPL資訊區塊
404:載入裝置資訊
406:SE標頭
408:映像資訊
500:用於啟動安全客體之程序流程
800:系統
901:處理器
901a:中央處理單元(CPU)
901b:中央處理單元(CPU)
901c:中央處理單元(CPU)
902:系統匯流排
903:系統記憶體
904:唯讀記憶體(ROM)
905:隨機存取記憶體(RAM)
907:硬碟
908:軟體
909:資料
920:介面配接器
921:鍵盤
922:滑鼠
923:揚聲器
924:麥克風
930:顯示配接器
931:顯示器
932:GUI
941:通信配接器
950:網路
951:伺服器
952:資料庫
在本說明書之結尾處的申請專利範圍中特別地指出且清楚地主張本文中所描述之排他性權利的細節。本發明之實施例的前述以及其他特徵及優點自結合隨附圖式進行之以下詳細描述顯而易見,在隨附圖式中:圖1描繪根據本發明之一或多個實施例的使用初始程式載入(IPL)機制啟動客體之系統的示意圖;圖2描繪根據本發明之一或多個實施例的用於使用初始程式載入(IPL)機制啟動安全客體之程序的流程圖;圖3描繪根據本發明之一或多個實施例的包括載入於主機伺服器上之安全客體的系統之示意圖;圖4描繪根據本發明之一或多個實施例的用於啟動安全客體之IPL資訊區塊;圖5描繪根據本發明之一或多個實施例的用於啟動安全客體之程序流程;圖6描繪根據本發明之一或多個實施例的雲端運算環境;圖7描繪根據本發明之一或多個實施例的抽象模型層;圖8描繪根據本發明之一或多個實施例的系統;及圖9描繪根據本發明之一或多個實施例的處理系統。
本文中所描繪之圖式為說明性的。在不背離本發明之精神的情況下,所描述之圖式或操作可存在許多變化。舉例而言,可以不同次序執行動作或可添加、刪除或修改動作。又,術語「耦接」及其變化描述在兩個元件之間具有通信路徑且並不暗示元件之間的直接連接且其間不具有***元件/連接。所有此等變體視為本說明書之一部分。
根據本發明之一或多個實施例,提供新的初始程式載入(IPL)機制以允許在主機伺服器上執行之客體或虛擬機器(VM)請求轉移至安全模式中。當在安全模式中時,超管理器無法存取VM之資料。根據本發明之一或多個實施例,當VM正在安全模式中執行時,在硬體及/或韌體中實施之安全介面控制件用以在安全客體與在主機伺服器上執行之其他客體之間提供隔離。
根據本發明之一或多個實施例,將VM之經加密映像連同未經加密自啟組件載入至主機伺服器之VM記憶體中。自啟組件可存取關於VM之經加密映像之所有記憶體頁面的資訊以及供用於對映像解密及以安全模式(亦即,作為安全客體)重新啟動VM中的後設資料結構。根據本發明之一或多個實施例,後設資料結構亦包括可使用之作業系統映像的連續區之清單。如此項技術中已知的,替代個別地列出作業系統之所有記憶體頁面,各自包括開始頁面及頁面數目之區的清單可節省空間且加速處理。舉例而言,若假想作業系統映像駐留於頁面0、1、2、3、6及7中,則此可指定為(0,4)及(6,2)。
根據本發明之一或多個實施例,自啟組件藉由以下操作觸發重新開機或重新啟動操作:以新格式準備IPL資訊區塊;使用例如「診斷308子碼5」來設定IPL資訊區塊;及使用例如「診斷308子碼3」或新碼來執行IPL 。IPL資訊區塊可包括:安全執行(SE)標頭,其具有映像金鑰及完整度值;需要解密之記憶體區的清單;及初始化向量(IV),其已用於映像之所有頁面的加密。在習知環境中,IPL資訊區塊含有開機來源之識別資訊,其可為磁碟裝置位址、如CDROM之名稱等。對於由本發明之一 或多個實施例實施的安全環境,開機來源識別資訊包括加密金鑰及需要解密之記憶體區。取決於所使用之加密方法,本發明之一或多個實施例實施IV以向加密添加隨機性。可針對記憶體區中之每一者提供唯一IV。利用IV之此類型的密碼編譯方法可用以改良加密品質。舉例而言,若使用同一秘密金鑰但使用不同IV對兩個相同的記憶體頁面加密,則經加密內容將不同,此使得對手不可能知曉內容為相同的。
「診斷」為允許客體作業系統與超管理器相互作用之指令的實例。診斷指令由IBM z Systems®使用,且診斷308特定地用於程式導向式IPL(允許客體請求重新開機)操作。子碼5用以設定IPL參數(例如,待使用之開機裝置),且子碼3用以自先前由子碼5指定之開機裝置出發重新開機。請求自作業系統內重新開機之機制為架構相依的。在一些x86機器上,有可能使用市售之軟體工具改變開機裝置。
根據本發明之一或多個實施例,超管理器使用來自包括SE標頭之IPL資訊區塊的資訊,以呼叫安全介面控制件(在本文中亦被稱作「超監督器」),從而建立安全客體組態且執行經加密VM映像之解封裝或解密。若解封裝成功,則經解封裝之VM獲得控制,從而在安全模式中執行。若解封裝失敗,則VM在非安全模式中進入停用等待狀態。
在主機超管理器之控制下作為客體執行的VM依賴於彼超管理器為彼客體透明地提供虛擬化服務。此等服務可應用於安全實體與另一不受信任實體之間的任何介面,其在傳統上允許此另一實體存取安全資源。此等服務可包括但不限於記憶體管理、指令仿真及中斷處理。舉例而言,對於中斷及例外注入,超管理器通常讀取及/或寫入至客體之前置詞區(prefix area)(低核心)中。如本文中所使用之術語「虛擬機器」或 「VM」係指實體機器(運算裝置、處理器等)及其處理環境(作業系統(OS)、軟體資源等)之邏輯表示。VM維持為在基礎主機機器(實體處理器或處理器集合)上執行之軟體。自使用者或軟體資源之視角,VM呈現為其自身的獨立實體機器。如本文中所使用之術語「超管理器」及「VM監視器(VMM)」係指管理及准許多個VM在同一主機機器上使用多個(且有時不同的)OS執行的處理環境或平台服務。應瞭解,部署VM包括VM之安裝程序及VM之起動(或啟動)程序。在另一實例中,部署VM包括VM之起動(或啟動)程序(例如,在VM先前已安裝或已存在之狀況下)。
然而,為促進安全客體,存在技術挑戰:超管理器與安全客體之間需要額外安全性,使得超管理器無法存取來自VM之資料,且因此無法提供諸如上文所描述之彼等服務的服務。
在目前可用之技術解決方案中,超管理器(例如,IBM®之z/VM®,或基於內核之虛擬機器(KVM)的開放原始碼軟體)藉由發出開始解譯性執行(Start-Interpretive-Execution;SIE)指令來在實體處理單元或主機伺服器上啟動新VM。VM之部分狀態及其特性儲存於由SIE指令之運算元(通常為第二運算元)指向的控制區塊(作為狀態描述或「SD」)中。在此類狀況下,超管理器控制用於VM之資料,且在一些狀況下,需要此控制來解譯正在VM上執行之指令。現有超管理器依賴於經由SIE指令使用此介面以啟動VM。
本文中所描述之安全執行提供保證安全儲存器與非安全儲存器之間以及屬於不同安全使用者之安全儲存器之間的隔離的硬體機制。對於安全客體,在「不受信任」超管理器與安全客體之間提供額外安全性。為進行此操作,超管理器通常代表客體執行之許多功能需要併入至機 器中。安全介面控制件提供超管理器與安全客體之間的安全介面。安全介面控制件與硬體協作以提供此額外安全性。術語超監督器(UV)在本文中用以指可由本發明之一或多個實施例實施的安全介面控制件之一個實例。
在一個實例中,安全介面控制件實施於內部、安全且受信任的硬體及/或韌體中。對於安全客體或實體,安全介面控制件提供安全環境之初始化及維護以及此等安全實體之分派在硬體上的協調。在安全客體主動地使用資料且資料駐留於主機儲存器中時,其「以純文字(in the clear)」保存在安全儲存器中。安全儲存器可由彼單一安全客體存取,該安全客體嚴格地由硬體執行。亦即,安全介面控制件防止任何非安全實體(包括超管理器或其他非安全客體)或不同安全客體存取彼資料。在此實例中,安全介面控制件作為韌體之最低層級的受信任部分執行。最低層級或微碼實際上為硬體之擴充且用以實施在z/architecture中定義的複雜指令及功能。微碼可存取儲存器之所有部分,該儲存器在安全執行之內容脈絡中包括其自身的安全UV儲存器、非安全超管理器儲存器、安全客體儲存器及共用儲存器。此允許其提供安全客體或支援彼客體之超管理器所需的任何功能。安全介面控制件亦可直接存取硬體,此允許硬體在由安全介面控制件建立之條件的控制下高效地提供安全性檢查。
本發明之一或多個實施例提供優於利用經加密VM映像之現有系統的技術改良。現有系統對經加密VM映像解密,之後在主機機器上啟動VM。此方法之缺點為:在超管理器中需要專用電腦指令以判定VM映像是否經加密且執行解密,之後在主機機器上分派或啟動VM。本發明之一或多個實施例不需要更新超管理器分派碼,或不需要超管理器感知VM映像在VM於主機機器上啟動之前經加密。此外,即使安全VM一旦 經啟動,超管理器便無法存取安全VM之任何資料,但超管理器仍可用以啟動安全VM。
本發明之一或多個實施例藉由提供用於在代管複數個VM之主機伺服器上執行VM的安全環境來提供優於現有系統的技術改良。本發明之一或多個實施例的實際應用包括能夠防止對在主機機器上執行之安全客體的任何資料之未授權存取(有意或無意)。
現轉向圖1,總體上展示根據本發明之一或多個實施例的用於使用IPL機制啟動安全客體的系統100之示意圖。圖1中所展示之系統100包括主機伺服器之客體位址空間102、包括基本輸入/輸出系統(BIOS)104或載入程式之主機磁碟,及儲存安全客體之作業系統組件的客體磁碟。術語「客體」與「虛擬機器」或「VM」在本文中可互換地使用。圖1中所展示之安全客體的作業系統組件包括未經加密自啟組件106及客體108之經加密映像。根據本發明之一或多個實施例,發指令給在主機伺服器上執行之超管理器以將客體載入至客體位址空間102中。超管理器接收關於客體之映像位於何處(在此狀況下,位於客體磁碟上)的資訊,且起始BIOS 104以將作業系統組件載入至客體位址空間102中。
當BIOS 104完成將作業系統組件載入至客體位址空間102中時,客體向超管理器呈現為非安全客體。超管理器未感知到客體之映像經加密且當前不可操作。超管理器將控制轉移至位址經指定之自啟組件106,其觸發客體藉由超監督器在安全模式中之初始程式載入(IPL)或重新啟動。在IBM Z®實施方案中,具有作業系統組件之磁碟含有隱藏的開機映射(bootmap)檔案,其描述組件駐留於磁碟上何處,其必須載入至哪些記憶體位置及在初始載入已完成之後執行的第一指令之位址(亦即,自啟 組件之開始位址)。一或多個實施例可藉由其他架構實施,其他架構可具有用以開始作業系統之執行的固定記憶體位址。
如圖1中所展示,自啟組件106包括:自啟程式碼,其由超管理器執行以觸發至安全模式中之轉變;以及SE標頭,其包括由超監督器使用以對客體108之經加密映像解密的後設資料。
現轉向圖2,總體上展示根據本發明之一或多個實施例的用於使用初始程式載入(IPL)機制啟動安全客體之程序200的流程圖。圖2中所展示之處理可藉由在主機機器上執行之超管理器及超監督器的組合進行。圖2中所展示之處理係在作業系統組件(諸如圖1的客體108之此經加密映像及自啟組件106)已載入至主機伺服器之記憶體(諸如,圖1之客體位址空間102)中且控制已轉移至自啟組件之後執行。
在區塊202處,客體(例如,在客體中執行之自啟程式碼)呼叫超管理器以設定IPL參數。IPL參數可包括但不限於SE標頭、記憶體區及用於解密之初始化向量(IV)。如本文中所使用,術語「SE標頭」係指含有關於作業系統之敏感資訊的資料結構,敏感資訊諸如用以對作業系統映像解密之金鑰。由於此資訊為敏感的,因此SE標頭之部分必須經加密,使得僅安全控制介面能夠對SE標頭中之此資料解密。記憶體區指定經加密映像中之哪個(些)記憶體區需要解密。根據本發明之一或多個實施例,私用/公用金鑰對用以執行加密及解密。可使用執行加密之人員或實體已知的公用金鑰對VM映像加密,且可使用超監督器已知之私用金鑰對VM映像解密。本發明之一或多個實施例可實施此項技術中已知的任何加密/解密方案,且私用/公用金鑰對僅為可實施之方案的一個實例。由於含於SE標頭中之金鑰受到保護,因此映像加密金鑰亦可為對稱金鑰(且亦用於 解密)。
在圖2之區塊204處,超管理器判定IPL參數是否有效。證實可包括檢查SE標頭之存在、至少一個記憶體區之存在,及確保多個記憶體區不重疊。在區塊204處,超管理器執行有效性檢查且將參數儲存於由超管理器擁有且客體不可存取之一些記憶體位置中。因此,參數之存在充分指示其有效性。
若在區塊206處判定IPL參數無效,則處理在區塊206處繼續且客體繼續在非安全模式中執行。若在區塊206處判定IPL參數有效,則處理在區塊208處以客體呼叫超管理器以執行重新開機來繼續。在區塊210處,超管理器驗證已供應及檢查IPL參數。
若在圖2之區塊210處判定尚未供應及檢查IPL參數,則處理在區塊206處繼續且客體繼續在非安全模式中執行。若在區塊210處判定已供應及檢查IPL參數,則處理在區塊212處繼續。在區塊212處,超管理器呼叫超監督器以建立安全客體組態,對經加密映像解封裝(例如,解密)且開始客體之安全執行。在區塊214處,判定映像是否經成功地解密且視情況經驗證。根據本發明之一或多個實施例,藉由比較在映像上運算之總和檢查碼或散列與儲存於SE標頭中之總和檢查碼來驗證解密。若映像經解密及驗證,則處理在區塊216處以客體在超監督器之控制下在安全模式(亦即,作為安全客體)中執行來繼續。若映像未經解密及驗證,則處理在區塊218處以客體在非安全模式中進入停用等待狀態來繼續。
現轉向圖3,總體上展示根據本發明之一或多個實施例的系統300之示意圖,該系統包括載入於主機伺服器上之安全客體。圖3中所展示之系統300描繪在對經加密映像解密且使用諸如圖2中所展示之程 序的程序在主機機器上啟動安全系統之後的圖1之系統100的狀態。如圖3中所展示,將映像308之未經加密版本載入至客體位址空間102中,且控制已給予客體之內核以啟動安全客體。
現轉向圖4,總體上展示根據本發明之一或多個實施例的用於啟動安全客體之IPL資訊區塊400的示意圖。展示於區塊402中之IPL資訊區塊的總體佈局為典型的IPL區塊佈局,其包括用於指定以下各者之欄位:區塊之長度(例如,以位元組為單位);版本號碼;用於諸如磁碟裝置位址、如「CDROM」之通用開機裝置名稱或網路位址之載入裝置資訊的參數區塊;用於額外系統控制參數(SCP)資料之參數區塊,若開機方法需要不適合資訊區塊之第一部分的參數,則可使用額外系統控制參數資料。除類型欄位之外,用於載入裝置資訊404之參數區塊亦為典型的IPL區塊佈局,根據本發明之一或多個實施例,該類型欄位亦包括記憶體(連同磁碟、網路等)作為正執行之IPL的一種新類型。此允許IPL自主機伺服器之記憶體載入資料,經加密VM映像位於該記憶體處。此外,載入裝置特定參數區塊包括由超管理器使用以執行解密之新類型的資訊:SE標頭406,其具有用以執行解密之資訊;及映像資訊408,其可包括描述記憶體中之映像之結構的資訊。
現轉向圖5,總體上展示根據本發明之一或多個實施例的用於啟動安全客體之程序流程500。圖5中所展示之處理可由在主機伺服器上執行之超管理器執行。在區塊502處,藉由在主機伺服器上執行之超管理器接收在主機伺服器上分派VM之請求。在區塊504處,在主機伺服器上以非安全模式分派VM。當VM在非安全模式中時,VM之資料可由超管理器存取。VM包括自啟組件,其含有用以重新啟動VM之重新開機指 令。根據本發明之一或多個實施例,分派包括將VM之經加密映像載入至主機伺服器之記憶體中,及將包括重新開機指令之未經加密自啟組件載入至記憶體中。分派亦包括將控制轉移至自啟組件。
在區塊506處,根據本發明之一或多個實施例,藉由自啟組件起始安全重新開機。自啟組件(1)設定IPL資訊且(2)請求重新開機。(1)及(2)兩者由超管理器截獲,該超管理器回應於(2)而將控制交遞至超監督器以進行解密。當解密完成時,超監督器現將控制轉移至安全客體,繞過超管理器。根據本發明之一或多個實施例,重新啟動包括對VM之經加密組件解密。當VM在安全模式中時,防止超管理器存取VM之任何資料。
應理解,儘管本發明包括關於雲端運算之詳細描述,但本文中所敍述之教示的實施不限於雲端運算環境。更確切而言,本發明之實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為用於使得能夠對可組態運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、虛擬機器及服務)之共用集區進行便利之按需網路存取的服務遞送之模型,可組態運算資源可藉由最少的管理工作或與服務提供者之互動而快速地佈建及釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:隨選自助服務:雲端客戶可視需要自動地單向佈建運算能力(諸如,伺服器時間及網路儲存器),而無需與服務提供者之人為互動。
寬頻網路存取:可經由網路獲得能力及經由標準機制存取 能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,行動電話、膝上型電腦及PDA)促進使用。
資源集用:提供者之運算資源經集用以使用多租戶模型為多個客戶服務,其中根據需要動態指派及重新指派不同實體及虛擬資源。位置獨立性之意義在於,客戶通常不具有對所提供資源之確切位置的控制或瞭解,但可能能夠按較高抽象等級(例如,國家、州或資料中心)指定位置。
快速彈性:可快速且彈性地佈建能力(在一些狀況下,自動地)以迅速地向外延展,且可快速地釋放能力以迅速地向內延展。在客戶看來,可用於佈建之能力常常看起來為無限的且可在任何時間以任何量來購買。
所量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及作用中使用者帳戶)之某一抽象等級下充分利用計量能力而自動控制及最佳化資源使用。可監視、控制及報告資源使用狀況,從而為所利用服務之提供者及客戶兩者提供透明度。
服務模型如下:軟體即服務(SaaS):提供給客戶之能力係使用在雲端基礎架構上執行之提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網路之電子郵件)之精簡型用戶端介面自各種用戶端裝置存取應用程式。客戶並不管理或控制包括網路、伺服器、作業系統、儲存器或甚至個別應用程式能力之基礎雲端基礎架構,其中可能的例外狀況為有限的使用者特定應用程式組態設置。
平台即服務(PaaS):提供給客戶之能力係將使用由提供者 所支援之程式設計語言及工具建立的客戶建立或獲取之應用程式部署至雲端基礎架構上。客戶並不管理或控制包括網路、伺服器、作業系統或儲存器之基礎雲端基礎架構,但控制所部署之應用程式及可能的代管環境組態之應用程式。
基礎架構即服務(IaaS):提供給客戶之能力係佈建處理、儲存、網絡及其他基礎運算資源,其中客戶能夠部署及執行可包括作業系統及應用程式之任意軟體。客戶並不管理或控制基礎雲端基礎架構,但控制作業系統、儲存器、所部署應用程式,及可能有限地控制選擇網路連接組件(例如,主機防火牆)。
部署模型如下:私用雲端:僅為組織操作雲端基礎架構。私用雲端可由組織或第三方來管理且可存在內部部署或外部部署。
社群雲端:雲端基礎架構由若干組織共用且支援分擔問題(例如,任務、安全要求、策略及順應性考量)的特定社群。社群雲端可由組織或第三方來管理且可存在內部部署或外部部署。
公開雲端:該雲端基礎架構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:該雲端基礎架構為兩個或多於兩個雲端(私用、社群或公開)之組合物,其保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡之雲端叢發)之標準化或專屬技術繫結在一起。
藉由集中於無國界、低耦合、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵為包括互連節點之網路的基礎 架構。
現參看圖6,描繪說明性雲端運算環境50。如所展示,雲端運算環境50包括一或多個雲端運算節點10,雲端客戶所使用之諸如個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N的本端運算裝置可與該一或多個雲端運算節點通信。節點10可彼此通信。可在一或多個網路(諸如,如上文所描述之私用、社群、公開或混合雲端或其組合)中將該等節點實體地或虛擬地分組(未展示)。此允許雲端運算環境50供應基礎架構、平台及/或軟體作為服務,針對該等服務,雲端客戶不需要在本端運算裝置上維持資源。應理解,圖6中所展示之運算裝置54A至54N之類型意欲僅為說明性的,且運算節點10及雲端運算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通信。
現參看圖7,展示藉由雲端運算環境50(圖6)所提供之功能抽象層之集合。事先應理解,圖7中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:硬體及軟體層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。應理解,此等僅為一些實例且在其他實施例中,該等層可包括不同服務。
現轉向圖8,描繪根據本發明之一或多個實施例的系統800。系統800包括經由網路165與一或多個用戶端裝置20A至20C通信之實例節點10(例如,代管節點)。節點10可為雲端運算提供者之資料中心或主機伺服器。節點10執行超管理器12,其促進部署一或多個VM 15(15A至15N)。節點10進一步包括硬體/韌體層11,其促進超管理器12將一或多個服務提供至VM 15。在現有技術解決方案中,在超管理器12與硬體/韌體層11之間、硬體/韌體層11與一或多個VM 15之間、超管理器12與一或多個VM 15之間及經由硬體/韌體層11在超管理器12與VM 15之間提供通信。為促進安全VM環境,根據本發明之一或多個實施例的代管節點10 不包括超管理器12與一或多個VM 15之間的任何直接通信。
舉例而言,節點10可促進用戶端裝置20A部署VM 15A至15N中之一或多者。可回應於來自相異用戶端裝置20A至20C之各別請求而部署VM 15A至15N。舉例而言,VM 15A可由用戶端裝置20A部署,VM 15B可由用戶端裝置20B部署且VM 15C可由用戶端裝置20C部署。節點10亦可促進用戶端佈建實體伺服器(不作為VM執行)。本文中所描述之實例將節點10中之資源的佈建作為VM之部分來體現,然而,亦可應用所描述之技術解決方案以作為實體伺服器之部分來佈建資源。
在一實例中,用戶端裝置20A至20C可屬於同一實體,諸如個人、企業、政府機構、公司內的部門或任何其他實體,且節點10可作為實體之私用雲端操作。在此狀況下,節點10僅代管由屬於該實體之用戶端裝置20A至20C部署的VM 15A至15N。在另一實例中,用戶端裝置20A至20C可屬於相異實體。舉例而言,第一實體可擁有用戶端裝置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至20C之用戶端裝置20A為通信設備,諸如電腦、智慧型手機、平板電腦、桌上型電腦、膝上型電腦、伺服器電腦或請求節點10之超管理器12部署VM的任何其他通信設備。用戶端裝置 20A可經由網路165發送供超管理器接收之請求。來自VM 15A至15N之VM 15A為超管理器12回應於來自用戶端裝置20A至20C中之用戶端裝置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上執行之原生超管理器或在另一超管理器上執行之代管超管理器。現轉向圖9,展示根據本發明之一或多個實施例的用於實施本文中之教示的節點10。節點10可為電子電腦架構,其包含及/或使用利用各種通信技術之任何數目個運算裝置及網路以及其組合,如本文中所描述。節點10可為易於可調、可擴充及模組化的,能夠改變至不同服務或獨立於其他特徵而重新組態一些特徵。
在此實施例中,節點10具有處理器901,其可包括一或多個中央處理單元(CPU)901a、901b、901c等。亦被稱作處理電路、微處理器、運算單元之處理器901經由系統匯流排902耦接至系統記憶體903及各種其他組件。系統記憶體903包括唯讀記憶體(ROM)904及隨機存取記憶體(RAM)905。ROM 904耦接至系統匯流排902,且可包括控制節點10之某些基本功能的基本輸入/輸出系統(BIOS)。RAM為耦接至系統匯流排902以供處理器901使用之讀取-寫入記憶體。
圖9之節點10包括硬碟907,其為可由處理器901執行之可讀取的有形儲存媒體之實例。硬碟907儲存軟體908及資料909。軟體908儲存為指令以在節點10上由處理器901執行(以執行程序,諸如圖1至圖9之 處理流程)。資料909包括組織於各種資料結構中之定性或定量變數的值之集合以支援軟體908之操作且由該等操作使用。
圖9之節點10包括一或多個配接器(例如,硬碟控制器、網路配接器、圖形配接器等),其互連處理器901、系統記憶體903、硬碟907以及節點10之其他組件(例如,周邊及外部裝置)且支援其間的通信。在本發明之一或多個實施例中,一或多個配接器可連接至一或多個I/O匯流排,其經由中間匯流排橋接器連接至系統匯流排902,且一或多個I/O匯流排可利用共同協定,諸如周邊組件互連(PCI)。
如所展示,節點10包括將鍵盤921、滑鼠922、揚聲器923及麥克風924互連至系統匯流排902之介面配接器920。節點10包括將系統匯流排902互連至顯示器931之顯示配接器930。顯示配接器930(及/或處理器901)可包括圖形控制器以提供圖形效能,諸如GUI 932之顯示及管理。通信配接器941將系統匯流排902與網路950互連,從而使得節點10能夠與其他系統、裝置、資料及軟體(諸如,伺服器951及資料庫952)通信。在本發明之一或多個實施例中,軟體908及資料909之操作可藉由伺服器951及資料庫952在網路950上實施。舉例而言,網路950、伺服器951及資料庫952可組合以提供軟體908及資料909之內部反覆,作為平台即服務、軟體即服務及/或基礎架構即服務(例如,作為分散式系統中之網路應用程式)。
因此,如圖9中所組態,軟體908及資料909(例如,節點10)之操作必定植根於處理器901及/或伺服器951之運算能力,以克服及解決自VM之經加密映像分派VM的習知方法之本文中所描述之缺點。
本文中所描述之實施例必定植根於電腦技術,且特定而言 為代管VM之電腦伺服器。另外,本發明之一或多個實施例藉由促進代管VM之電腦伺服器代管安全VM來促進改良運算技術本身,特定而言為代管VM之電腦伺服器的操作,其中甚至禁止超管理器存取記憶體、暫存器及與安全VM相關聯之其他此資料。此外,本發明之一或多個實施例藉由使用安全介面控制件來提供朝向改良代管運算伺服器之VM的重要步驟,以促進安全VM與超管理器之分離且因此維持由運算伺服器代管之VM的安全性,該安全介面控制件包括硬體、韌體(例如,微碼)或其組合。安全介面控制件提供輕型中間操作以促進安全性,而不會在VM之初始化/退出期間添加確保VM狀態安全的大量額外負荷,如本文中所描述。
本文中所揭示之本發明之實施例可包括使用IPL機制啟動安全客體之系統、方法及/或電腦程式產品(在本文中為系統)。應注意,對於每種解釋,用於元件之識別符重新用於不同圖式之其他類似元件。
本文中參看相關圖式描述本發明之各種實施例。可在不脫離本發明之範疇的情況下設計本發明之替代實施例。在以下描述及圖式中,闡述元件之間的各種連接及位置關係(例如,上方、下方、鄰近等)。除非另外規定,否則此等連接及/或位置關係可為直接或間接的,且本發明在此方面不意欲為限制性的。相應地,實體之耦接可指直接抑或間接耦接,且實體之間之位置關係可為直接或間接位置關係。此外,本文中所描述之各種任務及程序步驟可併入至具有未詳細地描述於本文中之額外步驟或功能性的更全面程序或處理程序中。
以下定義及縮寫將用於解譯申請專利範圍及本說明書。如本文中所使用,術語「包含(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)」在用於本說明書中時指定所陳述特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組之存在或添加。
各種實施例之描述在本文中已出於說明的目的呈現,但不意欲為詳盡的或限於所揭示之實施例。在不脫離所描述實施例之範疇及精神的情況下,一般熟習此項技術者將顯而易見許多修改及變化。本文中所使用之術語經選擇以最佳解釋實施例之原理、實際應用或對市場中發現的技術之技術改良,或使得其他一般熟習此項技術者能夠理解本文中所揭示之實施例。
500:用於啟動安全客體之程序流程

Claims (18)

  1. 一種電腦實施方法,其包含:藉由在一主機伺服器上執行之一超管理器接收在該主機伺服器上分派一虛擬機器(VM)之一請求;藉由該超管理器在該主機伺服器上分派該VM,處於一非安全模式中之該VM包括一重新開機指令,其中該重新開機指令利用一初始程式載入(IPL)機制;及藉由該超管理器觸發該重新開機指令以在該主機伺服器上以一安全模式重新啟動該VM,觸發該重新開機指令包括該超管理器呼叫一安全介面控制件以在一安全模式中執行該重新啟動,該超管理器指定該主機伺服器上之該VM之該經加密映射的一位置及解密資訊;以及響應於該觸發而執行該重新啟動,其中在執行該重新啟動之後,防止該超管理器存取該VM之任何資料。
  2. 如請求項1之方法,其中該分派包括:將該VM之該經加密映像載入至該主機伺服器之一記憶體中;及將包含該重新開機指令之一未經加密自啟組件載入至該記憶體中。
  3. 如請求項2之方法,其中該分派進一步包括將控制轉移至該未經加密自啟組件。
  4. 如請求項1之方法,其中該VM在該分派之後包括經加密組件。
  5. 如請求項4之方法,其中該重新啟動包括對該VM之該等經加密組件解密。
  6. 如請求項1之方法,其中由該超管理器分派之該VM處於該非安全模式中,且該VM之資料可由該超管理器存取。
  7. 如請求項1之方法,其中基於該VM處於該安全模式中之一判定,防止該超管理器存取該VM之任何資料。
  8. 如請求項1之方法,其中執行該重新啟動包含:藉由該安全介面控制件基於該解密資訊對該VM解密;及基於該經解密VM重新啟動該VM。
  9. 一種電腦系統,其包含:一記憶體;一安全介面控制件;及一處理單元,其與該記憶體及該安全介面控制件耦接,該處理單元經組態以執行代管複數個虛擬機器(VM)之一超管理器,當一VM處於一安全模式中時,禁止該超管理器直接存取該VM之任何資料,且其中該超管理器經組態以執行:藉由在一主機伺服器上執行之一超管理器接收在該主機伺服器上分派一VM之一請求; 藉由該超管理器在該主機伺服器上分派該VM,處於一非安全模式中之該VM包括一重新開機指令,其中該重新開機指令利用一初始程式載入(IPL)機制;及藉由該超管理器觸發該重新開機指令以在該主機伺服器上以一安全模式重新啟動該VM,觸發該重新開機指令包括該超管理器呼叫一安全介面控制件以在一安全模式中執行該重新啟動,該超管理器指定該主機伺服器上之該VM之該經加密映射的一位置及解密資訊;以及響應於該觸發而執行該重新啟動,其中在執行該重新啟動之後,防止該超管理器存取該VM之任何資料。
  10. 如請求項9之系統,其中該分派包括:將該VM之該經加密映像載入至該主機伺服器之一記憶體中;及將包含該重新開機指令之一未經加密自啟組件載入至該記憶體中。
  11. 如請求項10之系統,其中該分派進一步包括將控制轉移至該未經加密自啟組件。
  12. 如請求項9之系統,其中該VM在該分派之後包括經加密組件。
  13. 如請求項12之系統,其中該重新啟動包括對該VM之該等經加密組件解密。
  14. 如請求項9之系統,其中由該超管理器分派之該VM處於該非安全模 式中,且該VM之資料可由該超管理器存取。
  15. 一種電腦程式產品,其包含一電腦可讀儲存媒體,該電腦可讀儲存媒體包含電腦可執行指令,該等電腦可執行指令在由一處理單元執行時使該處理單元執行一方法,該方法包含:藉由在一主機伺服器上執行之一超管理器接收在該主機伺服器上分派一虛擬機器(VM)之一請求;藉由該超管理器在該主機伺服器上分派該VM,處於一非安全模式中之該VM包括一重新開機指令,其中該重新開機指令利用一初始程式載入(IPL)機制;及藉由該超管理器觸發該重新開機指令以在該主機伺服器上以一安全模式重新啟動該VM,觸發該重新開機指令包括該超管理器呼叫一安全介面控制件以在一安全模式中執行該重新啟動,該超管理器指定該主機伺服器上之該VM之該經加密映射的一位置及解密資訊;以及響應於該觸發而執行該重新啟動,其中在執行該重新啟動之後,防止該超管理器存取該VM之任何資料。
  16. 如請求項15之電腦程式產品,其中該分派包括:將該VM之該經加密映像載入至該主機伺服器之一記憶體中;及將包含該重新開機指令之一未經加密自啟組件載入至該記憶體中。
  17. 如請求項16之電腦程式產品,其中該分派進一步包括將控制轉移至該未經加密自啟組件。
  18. 如請求項15之電腦程式產品,其中該VM在該分派之後包括經加密組件且該重新啟動包括對該VM之該等經加密組件解密。
TW109104345A 2019-03-08 2020-02-12 用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品 TWI734379B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/296,304 2019-03-08
US16/296,304 US10970100B2 (en) 2019-03-08 2019-03-08 Starting a secure guest using an initial program load mechanism

Publications (2)

Publication Number Publication Date
TW202101207A TW202101207A (zh) 2021-01-01
TWI734379B true TWI734379B (zh) 2021-07-21

Family

ID=70189895

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109104345A TWI734379B (zh) 2019-03-08 2020-02-12 用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品

Country Status (14)

Country Link
US (1) US10970100B2 (zh)
EP (1) EP3935498A1 (zh)
JP (1) JP7418093B2 (zh)
KR (1) KR102672577B1 (zh)
CN (1) CN113544643A (zh)
AU (1) AU2020235010B2 (zh)
BR (1) BR112021017782B1 (zh)
CA (1) CA3132756A1 (zh)
IL (1) IL285225B2 (zh)
MX (1) MX2021010584A (zh)
SG (1) SG11202105430SA (zh)
TW (1) TWI734379B (zh)
WO (1) WO2020182642A1 (zh)
ZA (1) ZA202106314B (zh)

Families Citing this family (5)

* 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
US11205003B2 (en) * 2020-03-27 2021-12-21 Intel Corporation Platform security mechanism
CN113434372B (zh) * 2021-06-10 2023-07-18 浙江大华技术股份有限公司 一种定位指示的方法、设备、***及存储介质
US11874776B2 (en) 2021-06-25 2024-01-16 Intel Corporation Cryptographic protection of memory attached over interconnects
JP7412835B1 (ja) 2022-06-29 2024-01-15 セーラ・ネットワークス株式会社 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302400A1 (en) * 2010-06-07 2011-12-08 Maino Fabio R Secure virtual machine bootstrap in untrusted cloud infrastructures
TW201535145A (zh) * 2013-12-04 2015-09-16 Insyde Software Corp 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
TW201617957A (zh) * 2014-06-27 2016-05-16 英特爾公司 鑑別變數之管理技術

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4245302A (en) 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6658562B1 (en) * 2000-08-25 2003-12-02 International Business Machines Corporation Method, system, and program for customizing a basic input/output system (“BIOS”) configuration according to the type of user
US7356677B1 (en) * 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
WO2005036367A2 (en) 2003-10-08 2005-04-21 Unisys Corporation Virtual data center that allocates and manages system resources across multiple nodes
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8387114B2 (en) 2009-01-02 2013-02-26 International Business Machines Corporation Secure workload partitioning in a server environment
JP2011048661A (ja) 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
US8639783B1 (en) 2009-08-28 2014-01-28 Cisco Technology, Inc. Policy based configuration of interfaces in a virtual machine environment
GB2499963B (en) 2010-12-09 2014-03-26 Ibm Computer-readable storage mediums for encrypting and decrypting a virtual disc
US20120179904A1 (en) 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
US10599458B2 (en) 2015-01-23 2020-03-24 Unisys Corporation Fabric computing system having an embedded software defined network
US20190095357A1 (en) * 2017-09-28 2019-03-28 Intel Corporation Hardware support for static mode of protected memory management on flexibly-convertible enclave platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302400A1 (en) * 2010-06-07 2011-12-08 Maino Fabio R Secure virtual machine bootstrap in untrusted cloud infrastructures
TW201535145A (zh) * 2013-12-04 2015-09-16 Insyde Software Corp 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
TW201617957A (zh) * 2014-06-27 2016-05-16 英特爾公司 鑑別變數之管理技術

Also Published As

Publication number Publication date
AU2020235010B2 (en) 2022-12-01
IL285225A (en) 2021-09-30
TW202101207A (zh) 2021-01-01
CN113544643A (zh) 2021-10-22
KR102672577B1 (ko) 2024-06-07
BR112021017782A2 (zh) 2021-11-23
JP2022522643A (ja) 2022-04-20
WO2020182642A1 (en) 2020-09-17
KR20210118130A (ko) 2021-09-29
IL285225B1 (en) 2023-11-01
MX2021010584A (es) 2022-03-31
US10970100B2 (en) 2021-04-06
SG11202105430SA (en) 2021-06-29
AU2020235010A1 (en) 2021-06-17
CA3132756A1 (en) 2020-09-17
BR112021017782B1 (pt) 2022-08-30
JP7418093B2 (ja) 2024-01-19
EP3935498A1 (en) 2022-01-12
ZA202106314B (en) 2022-07-27
IL285225B2 (en) 2024-03-01
US20200285492A1 (en) 2020-09-10

Similar Documents

Publication Publication Date Title
TWI734379B (zh) 用於使用初始程式載入機制啟動安全客體之電腦實施方法、電腦系統及電腦程式產品
JP7386882B2 (ja) セキュア仮想マシン環境におけるゲスト命令の透過的解釈
JP7350868B2 (ja) 複数のセキュリティ・ドメインにわたるセキュア・メモリの共用
TWI772747B (zh) 用於將中斷及例外注入安全虛擬機器之電腦實施方法、電腦系統及電腦程式產品
JP7436495B2 (ja) セキュア・ストレージの分離
JP2022523522A (ja) セキュア・インターフェイス制御の高レベルのページ管理
JP2022522664A (ja) ページ変更検出によるセキュアなページング
AU2020234887B2 (en) Dispatch of a secure virtual machine
JP2022522679A (ja) セキュア・インターフェース・コントロールの通信インターフェース