TW202307707A - 安全客體資源之延後取回 - Google Patents
安全客體資源之延後取回 Download PDFInfo
- Publication number
- TW202307707A TW202307707A TW111117742A TW111117742A TW202307707A TW 202307707 A TW202307707 A TW 202307707A TW 111117742 A TW111117742 A TW 111117742A TW 111117742 A TW111117742 A TW 111117742A TW 202307707 A TW202307707 A TW 202307707A
- Authority
- TW
- Taiwan
- Prior art keywords
- secure
- resources
- secure object
- removal
- security
- Prior art date
Links
- 230000000977 initiatory effect Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本發明提供種一運算環境內之安全客體資源之延後取回,其包括藉由該運算環境之一主機起始自該運算環境移除一安全客體,同時使得與該安全客體之該移除非同步地取回該安全客體之一或多個資源。該延後亦包括與該安全客體之該移除非同步地取回該一或多個安全客體資源,其中當與該安全客體之該移除非同步地取回該一或多個安全客體資源時,該一或多個安全客體資源可供重複使用。
Description
一或多個態樣大體上係關於運算環境內之處理,且詳言之,係關於改良此類處理。
某些運算環境可支援虛擬化,其中運算環境之超管理器或虛擬機管理器代管各種客體,諸如運算環境之虛擬機或虛擬伺服器。虛擬機可存取系統資源且可執行作業系統,諸如客體作業系統。不同客體可由不同所有者擁有,且此等客體中之一些可為安全客體。
傳統超管理器或主機可完全控制經代管客體。詳言之,超管理器具有檢測且甚至修改經代管客體之所有記憶體之能力。然而安全客體為可由未完全可信賴之超管理器代管之客體。此安全客體之影像將在經加載時受到保護,且指派給客體之資源(例如,記憶體、CPU暫存器)的內容之保護將在客體之整個壽命期間得到維持。客體之保護至少包括完整性保護(例如,超管理器無法惡意地改變任何客體狀態),且另外可包括維持在安全客體中執行之初始影像、程式碼及資料的機密性。
經由提供用於促進運算環境內之處理的電腦程式產品來克服先前技術之某些缺點且提供額外優勢。電腦程式產品包括至少一種具有藉由其體現之程式指令的電腦可讀儲存媒體。程式指令可藉由處理電路讀取以使得處理電路執行方法。該方法包括藉由該運算環境之一主機起始自該運算環境移除一安全客體,同時使得與該安全客體之該移除非同步地取回該安全客體之一或多個安全客體資源。此外,該方法包括與該安全客體之移除非同步地取回該一或多個安全客體資源,其中當與該安全客體之該移除非同步地取回該一或多個安全客體資源時,該一或多個安全客體資源可供使用。有利地,方法提供自運算環境較快移除安全客體,尤其對於具有大量資源之運算環境內之安全客體。此外,用當與安全客體之移除非同步地取回一或多個安全客體資源時,安全客體資源可供重複使用,此有利地降低運算環境內之記憶體壓力。
在一或多個實施例中,取回該安全客體之該一或多個安全客體資源發生在該安全客體之移除之後且與該安全客體之移除非同步。藉由延後取回一或多個安全客體資源,方法提供自運算環境較快移除安全客體。
在一或多個實施例中,該安全客體之移除包括與該安全客體之移除同步取回一或多個其他安全客體資源,同時使得非同步地取回該安全客體之該一或多個安全客體資源。有利地,在一個實施中,可非同步地取回與安全客體(亦即,安全虛擬機)相關聯之記憶體,而在另一實施中,可與安全客體之移除同步取回與安全客體相關聯之記憶體的一部分,使得非同步地取回安全客體之記憶體之剩餘部分。在另一實施例中,一或多個安全客體資源包括與安全客體相關聯之客體記憶體。
在一個實施例中,該方法進一步包括藉由該主機指定待與該安全客體之移除非同步地取回的該安全客體之該一或多個安全客體資源。
在一或多個實施中,該取回包括判定該一或多個安全客體資源處於一捨棄狀態,及基於該一或多個安全客體資源處於該捨棄狀態,清除該一或多個安全客體資源以供重複使用,其中該清除發生在該安全客體之移除之後。以此方式,可較快釋放經捨棄之安全客體資源。舉例而言,不需要檢查記憶體擁有者是否處於允許移除或清除安全記憶體之正確狀態。此外,該處理導致較低爭用,因為可並行地取回記憶體。
在一個實施例中,該一或多個安全客體資源包括一或多個安全記憶體頁面,且該判定包括檢查頁面後設資料以確認該一或多個安全記憶體頁面之一安全記憶體頁面處於該捨棄狀態。此外,在一個實施中,該取回包括清除該一或多個安全記憶體頁面,及清除與該一或多個安全記憶體頁面相關聯之一或多個安全旗標。
在一或多個實施例中,該起始包括藉由該主機將一請求發送至該安全運算環境之一安全平台以移除該安全客體,同時使得與該安全客體之移除非同步地取回該安全客體之該一或多個安全客體資源。
本文中亦描述及主張與一或多個態樣相關之電腦系統及電腦實施方法。此外,本文中亦描述且可主張與一或多個態樣相關之服務。
經由本文中所描述之技術實現額外特徵及優勢。本文中詳細描述其他實施例及態樣且將其視為所主張態樣之部分。
根據本發明之一或多個態樣,提供一種促進運算環境內之處理的能力。作為一實例,該能力包括提供在運算環境內經移除之安全客體(亦即,安全虛擬機)之安全客體資源的延後取回。在一個實例中,延後取回包括藉由運算環境之主機起始自運算環境移除安全客體,同時使得與安全客體之移除非同步地取回安全客體之一或多個安全客體資源。接著,主機與安全客體之移除非同步地取回一或多個安全客體資源,其中安全客體資源在其經取回時可供重複使用。在另一實例中,取回一或多個安全客體資源發生在安全客體之移除之後且與安全客體之移除非同步。在另一實例中,安全客體之移除包括與安全客體之移除同步取回一或多個其他安全客體資源,同時使得非同步地取回安全客體之一或多個安全客體資源。在一個實例中,安全客體資源包括與安全客體相關聯之客體記憶體。在另一實例中,主機系統指定待與安全客體之移除非同步地取回的安全客體之一或多個安全客體資源。在某些實施例中,取回包括判定一或多個安全客體資源處於捨棄狀態,及基於一或多個安全客體資源處於捨棄狀態,清除一或多個安全客體資源以供重複使用,其中清除發生在安全客體之移除之後。在另一實例中一或多個安全客體資源包括處於捨棄狀態之一或多個安全記憶體頁面,且判定包括檢查頁面後設資料以確認一或多個安全記憶體頁面之安全記憶體頁面處於捨棄狀態。在一個實例中,取回包括清除一或多個安全記憶體頁面及清除與一或多個安全記憶體相關聯之一或多個安全旗標。
參考圖1描述併有及使用本發明之一或多個態樣之運算環境的一個實施例。作為一實例,運算環境基於由紐約州阿蒙克市之國際商業機器公司(International Business Machines Corporation, Armonk, New York)供應之z/Architecture
®指令集架構。z/Architecture指令集架構之一個實施例描述於IBM公開案第SA22-7832-12號,第十三版,2019年9月之標題為「z/Architecture Principles of Operation」之公開案中,該公開案特此以全文引用之方式併入本文中。然而,z/Architecture指令集架構僅為一個實例架構;國際商業機器公司及/或其他實體之其他架構及/或其他類型的運算環境可包括及/或使用本發明之一或多個態樣。z/Architecture及IBM為國際商業機器公司在至少一個管轄區域中之商標或註冊商標。
參考圖1,在一個實例中,運算環境100包括中央處理器複合體(CPC) 102。中央處理器複合體102為例如IBM Z
®伺服器(或由國際商業機器公司或其他實體供應之其他伺服器或機器),且包括耦接至一或多個處理器單元(亦稱為處理器) 110及輸入/輸出(I/O)子系統111之複數個組件,諸如,例如記憶體104 (亦稱為,系統記憶體、主記憶體、主儲存器、中心儲存器、儲存器)。實例處理器單元110包括一或多個通用處理器(亦稱為中心處理器或中央處理單元(CPU))及/或一或多個其他處理器。IBM Z為國際商業機器公司在至少一個管轄區域中之商標或註冊商標。
I/O子系統111可為中央處理器複合體之一部分或與其分離。其導引主儲存器104與耦接至中央處理器複合體之輸入/輸出控制單元108及輸入/輸出(I/O)裝置106之間的資訊流。
可使用許多類型之I/O裝置。一個特定類型為資料儲存裝置140。資料儲存裝置140可儲存一或多個程式142、一或多個電腦可讀程式指令144及/或資料等。電腦可讀程式指令可經組態以進行本發明之態樣之實施例的功能。
中央處理器複合體102可包括及/或耦接至可移除式/不可移除式、揮發性/非揮發性電腦系統儲存媒體。舉例而言,其可包括及/或耦接至不可移除式非揮發性磁性媒體(通常被稱作「硬驅動機」)、用於自可移除式非揮發性磁碟(例如,「軟碟」)讀取及寫入至可移除式非揮發性磁碟之磁碟驅動機,及/或用於自諸如CD-ROM、DVD-ROM或其他光學媒體之可移除式非揮發性光碟讀取或寫入至可移除式非揮發性光碟之光碟驅動機。應理解,可結合中央處理器複合體102使用其他硬體及/或軟體組件。實例包括但不限於:微碼或毫碼、裝置驅動器、冗餘處理單元、外部磁碟驅動器陣列、RAID系統、磁帶機及資料存檔儲存系統等。
此外,中央處理器複合體102可與大量其他通用或專用運算系統環境或組態一起操作。可適合於與中央處理器複合體102一起使用之熟知運算系統、環境及/或組態之實例包括但不限於:個人電腦(PC)系統、伺服器電腦系統、薄用戶端、厚用戶端、手持型或膝上型電腦裝置、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子器件、網路PC、迷你電腦系統、大型電腦系統及包括上述系統或裝置中之任一者的分散式雲端運算環境及類似者。
中央處理器複合體102在一或多個實施例中提供虛擬化支援,其中記憶體104包括例如一或多個虛擬機112 (亦稱為客體)、諸如超管理器114之管理虛擬機之虛擬機管理器、安全平台115 (亦稱為超監督器或可信賴執行環境)及處理器韌體116。超管理器114之一個實例為由紐約州阿蒙克市之國際商業機器公司供應之z/VM
®超管理器。超管理器有時稱為主機。z/VM為國際商業機器公司在至少一個管轄區域中之商標或註冊商標。
在一或多個實施例中,安全平台115可至少部分地實施於經組態以執行例如諸如本文中所描述之程序之硬體及/或韌體中。安全平台為利用記憶體保護硬體來加強記憶體保護之可信賴韌體及/或硬體。客體之擁有者可藉由使用嵌入於主機金鑰文件中之公用主機金鑰而將資訊安全地傳遞(使用例如IBM安全執行)至安全平台或可信賴執行環境。為處理機密資訊,安全平台115或可信賴執行環境使用匹配之私用主機金鑰。私用主機金鑰特定於伺服器,例如,IBM Z
®伺服器,且受硬體保護。
處理器韌體116包括例如,處理器之微碼或毫碼。其包括例如用於實施較高階機器碼之硬體層級指令及/或資料結構。在一個實施例中,其包括例如專屬碼,該專屬碼通常作為包括可信賴軟體之微碼或毫碼、特定於底層硬體之微碼或毫碼而遞送,且控制對系統硬體之作業系統存取。
中央處理器複合體之虛擬機支援提供操作大量虛擬機112 (或客體)之能力,該等虛擬機112各自能夠用不同程式120操作且執行客體作業系統122,諸如Linux
®作業系統。每一虛擬機112能夠充當單獨系統。亦即,每一虛擬機可獨立地進行經移除或重設,執行客體作業系統,且藉由不同程式操作。在虛擬機中執行之作業系統或應用程式呈現為存取完整系統,但實際上,僅其一部分可用。儘管供應z/VM及Linux作為實例,但可根據本發明之一或多個態樣使用其他虛擬機管理器及/或作業系統。註冊商標Linux
®係依照來自Linux基金會(Linux Foundation)之轉授權而使用,該基金會為該商標在全球範圍內的所有者Linus Torvalds之獨家被授權人。
在一個實施例中,一或多個虛擬機或客體112為安全客體。參考圖2,安全客體200由超管理器(例如,超管理器114)以超管理器無法觀測到安全客體資源201,包括安全客體之狀態(例如,記憶體、暫存器等)之方式開始。舉例而言,在機密運算之一個實施例中,超管理器可開始/停止安全客體,且超管理器知曉用於開始安全客體之資料定位何處但其無法深入執行安全客體。用於載入/開始安全客體之資料可以超管理器無法看到安全客體之方式加密。安全客體影像之擁有者將機密資料置放於安全客體後設資料中,且接著產生安全客體影像以及安全客體後設資料。在載入安全客體之後,藉由諸如安全平台115之可信賴執行環境處理與安全客體之狀態的任何互動。
在一個實施例中,為開始安全客體,超管理器將安全客體影像210及安全客體後設資料220傳遞至安全平台115。後設資料為完整性的且至少部分機密地受保護,且僅由安全平台解譯。基於安全客體後設資料中之資訊,安全平台可接著加強載入至記憶體中之安全客體影像之完整性,保護含有載入影像之安全客體之記憶體免於由超管理器可存取,且在開始安全客體之前潛在地解密安全客體影像。
在載入安全客體之後,可需要向安全客體供給使用者特定機密資料230 (例如,執行加密或建立安全連接、密碼等之金鑰)。舉例而言,在一個實施例中,安全客體之後設資料之機密保護部分(例如,安全客體後設資料220)可經擴展以含有機密資料(例如,機密資料230;例如,可載入於安全客體中之使用者特定機密資料)。在一個實例中,安全客體之後設資料可經擴展以含有機密資料以及機密資料之一或多個識別符。亦存在其他可能性。
如所提及,安全客體(或安全虛擬機)為一種類型之虛擬機,其中運算環境之硬體及韌體拒絕對安全客體(亦即,安全虛擬機)之狀態的存取,除了安全客體主動地指定為共用之特定記憶體區域以外。此安全客體無法由主機系統(或超管理器)或運算環境之管理員(例如,代管虛擬機之作業系統的管理員,其通常將係可能的)訪問。對安全客體狀態之存取意謂主機系統上之攻擊者將能夠自虛擬機記憶體讀取諸如加密金鑰或其他機密資訊或文件敏感資訊,此將係安全風險。另外,安全客體不能受運算環境中之管理以避免主機安全性之其他虛擬機攻擊。
如所提及,在包括安全客體(亦即,安全虛擬機)之運算環境中,可假定主機或超管理器不受信賴,以及運算環境內之其他客體(不論正常客體或安全客體)。安全平台(例如,超監督器或可信賴執行環境)可如所描述而使用,其中安全平台係由安全客體以及由超管理器信賴。另外,安全客體在實施中信賴自身。
習知地,當自運算環境移除安全客體時,同步清除或釋放與安全客體相關聯之所有資源,此可取決於資源之量而花費較長時間。
根據一或多個態樣,提供一種電腦程式產品、電腦系統及電腦實施方法,其藉由允許使用安全客體(亦即,安全虛擬機)之系統中之資源的較快及較有效的非同步取回來促進運算環境內之處理。安全客體之諸如客體記憶體、其他記憶體及/或其他資源之資源在安全客體經刪除或移除之後受保護,以便藉由消除對同步處置所有安全客體資源之需要來增強客體移除程序。舉例而言,稍後可與安全客體之移除非同步地取回一或多個安全客體資源(諸如客體記憶體)。
圖3說明用於諸如本文中所描述之運算環境內之安全客體(或安全虛擬機)所需的安全客體資源201之一個實施例。如所說明,安全客體資源201在一或多個實施例中,包括相關聯客體記憶體300以及其他記憶體301及用於支援安全客體之其他資源302。其他記憶體301通常為比客體記憶體300更小量之記憶體,且在某些運算環境實施上,可為相關聯客體記憶體300之百分比。藉助於實例,其他記憶體301可為或包括由安全平台擁有以維持安全客體之狀態之記憶體。其他資源302通常為支援安全客體所需之少量資源,且可包括例如安全或唯一機器符記、快取安全狀態、轉譯後備緩衝器(translation lookaside buffer;TLB)項目、保留I/O裝置等。
當待自運算環境移除或棄置客體(或虛擬機)時,需要例如由主機取回其諸如記憶體之相關聯資源以便重複使用。在安全客體之情況下,存在可與除客體記憶體300自身以外之安全客體相關聯的多種記憶體區域。亦需要清除彼等記憶體區域,諸如其他記憶體301及/或其他資源302 (亦即,若保護係基於存取控制),且接著使得彼等記憶體可供正常使用。有利地,根據本文中所揭示之一或多個態樣,與正經移除之安全客體相關聯之安全客體資源中之一或多者留待與安全客體之移除非同步地取回。以此方式,安全客體之移除顯著快於同步清除或擦除所有安全客體資源以便確認安全客體之移除的情形。以此方式,可稍後取回剩餘安全客體資源,亦即,與安全客體之移除非同步。
圖4描繪說明此之一或多個態樣工作流程的一個實施例。如由熟習此項技術者理解,所說明之工作流程可藉由例如與主機及安全平台(或可信賴執行環境)相關聯實施之程式碼體現。程式碼自400開始,主機(或超管理器)獲得移除安全客體之指示402。主機起始安全客體之移除且非同步地取回安全客體資源中之一或多者404。在一個實施中,主機調用安全平台之應用程式介面以移除安全客體。在介面允許之情況下,主機可視情況指定哪一安全客體資源將經非同步地取回。
如圖4中所說明,程式碼判定存在待非同步地取回之安全客體資源406,且確定是否當前取回待非同步地取回之安全客體資源中之一或多者408。舉例而言,在一個實施中,主機可在次優處理中取回在安全客體之移除之後延後取回之安全客體資源。若當前不取回資源,則稍後將其取回410。否則,清除待取回之安全客體資源412 (例如,設定為預定義值),此舉完成程序414。相比而言,在傳統工作流程中,主機將調用安全客體介面以起始安全客體之移除,且與安全客體之移除同步清除所有安全客體資源,以便主機接著經釋放以重複使用資源。在本文中所描述之程序中,主機請求(或調用介面)清除應經同步清除之安全客體資源,且移除安全客體。待同步清除之安全客體資源可包括其他資源302 (圖3)中之所有或一些,諸如安全符記及保留I/O裝置。主機可接著非同步地取回剩餘安全客體資源,且由於資源(例如,記憶體)經取回,資源可供即刻使用。
根據本文中所揭示之一或多個態樣,主機起始調用或請求安全平台(例如,可信賴執行環境或超監督器)棄置或移除安全客體或虛擬機而不立即釋放所有安全客體資源(例如,所有安全客體記憶體)。可接著與安全客體之移除非同步地取回剩餘安全客體資源。應注意,並非所有安全客體記憶體均需要非同步地取回。舉例而言,在一個實施中,可與安全客體之移除非同步地取回與安全客體相關聯之客體記憶體,而在另一實施中,僅需要與安全客體之移除非同步地取回客體記憶體之一部分。多個變化及實施例為可能的。
在一或多個實施中,為促進取回諸如安全記憶體資源之資源,可使用在本文中稱為捨棄狀態之新資源狀態(例如,記憶體狀態)。一般而言,安全記憶體不可由主機存取,如所解釋。安全記憶體可屬於安全客體,或屬於安全平台。可藉由更新安全記憶體之需要被捨棄之區域之後設資料來實施捨棄狀態(如本文所論述)以將該安全記憶體標記為捨棄狀態,此意謂安全記憶體不屬於安全平台或任何安全客體且可自由取回。可接著在任何時間取回經捨棄記憶體,包括非同步地及/或同時地,此係由於不需要執行額外檢查。此外,改變與安全記憶體區域相關聯之後設資料允許自由地取回記憶體。舉例而言,不需要檢查記憶體屬於哪一安全客體,且不需要改變安全記憶體區域之安全性質,此將需要較長處理時間。
藉助於實例,每一安全記憶體頁面包括後設資料,其中記憶體頁面後設資料資料結構500之一個實例描繪於圖5中。在一個實例中,記憶體頁面後設資料可由安全平台115 (圖1及圖2)存取,且包括例如一或多個項目502,其中每一項目502包括例如頁面識別符504及諸如本文中所描述之捨棄狀態指示符之一或多個指示符506。記憶體頁面後設資料可在取回與經移除安全客體相關聯之安全記憶體頁面期間由主機及安全平台使用。如所解釋,不再需要之安全記憶體可經置放於捨棄狀態中。當安全虛擬機或客體經移除時,記憶體頁面後設資料經更新,且隨後參考該記憶體頁面後設資料以判定特定記憶體頁面是否處於捨棄狀態。此外,在記憶體熱插入或熱拔出之情況下,亦可使用具有捨棄狀態指示符之記憶體頁面後設資料。以此方式,經捨棄記憶體保持安全,且需要在可用之前明確地取回。因此,可較快進行將有問題之記憶體頁面置於捨棄狀態之操作,諸如移除安全客體或記憶體熱拔出。
藉助於實例,圖6說明用於非同步地取回處於捨棄狀態之安全記憶體之程序的一個實施例。如圖6中所說明,除處於捨棄狀態之安全記憶體600以外,亦存在諸如上文所描述之記憶體頁面後設資料之相關聯記憶體後設資料602,以及用於保證記憶體之一或多個安全旗標604。程序包括檢查記憶體頁面後設資料以確認頁面處於捨棄狀態610之程式碼,且假定如此,清除記憶體頁面612 (必要時),隨後清除一或多個安全旗標614。此程序有利地與用於取回記憶體頁面之習知程序相比較,該習知程序可包括例如檢查安全客體是否處於允許取回記憶體之狀態,該習知程序可本身為緩慢程序且包括例如發現與記憶體相關聯之客體或虛擬機之額外查找步驟,潛在地需要用於同步之額外鎖定及額外檢查。有利地,使用諸如本文中所描述之捨棄狀態之後設資料指示符允許較快釋放捨棄的安全記憶體,處理較少。不需要檢查諸如安全客體之擁有者是否處於允許移除或清除相關聯記憶體之正確狀態,且存在較低爭用,因為可並行地取回處於捨棄狀態之記憶體。該程序簡單地需要判定諸如安全記憶體頁面之安全記憶體已與捨棄狀態指示相關聯,且若如此,可藉由例如清除記憶體來取回記憶體頁面,導致記憶體立即可供重複使用。
在另一實施例中,一旦安全記憶體處於捨棄狀態,就可執行將快速記憶體輸入至另一安全客體。快速記憶體輸入意謂安全指示未改變,且因此藉由不需鎖定及/或沖洗步驟來加速處理以改變指示。在將記憶體給至另一安全客體之前,簡單地清除處於捨棄狀態之安全記憶體之實際記憶體內容。藉由此實施例,可在作業系統中管理安全捨棄記憶體頁面之集區,該等安全捨棄記憶體頁面僅在作業系統重啟(亦即,當安全客體之超管理器重啟時)時變成正常記憶體頁面。若安全客體需要記憶體,則其可自安全捨棄記憶體頁面之集區提供,而非需要處理以使正常記憶體安全。此因此係自上文所描述之取回之另一類型,其中已清除延後狀態記憶體頁面內容以及防止對安全記憶體頁面之任何不安全存取的安全指示。
參看圖7A至圖7B描述促進運算環境內之處理之一個實施例的其他細節,此係因為該運算環境與本發明之一或多個態樣有關。
參考圖7A,在一個實施例中,運算環境之主機系統起始安全客體自運算環境之移除,同時使得與安全客體之移除非同步地取回安全客體之一或多個安全客體資源700。接著與安全客體之移除非同步地取回一或多個安全客體資源,其中當與安全客體之移除非同步地取回一或多個安全客體資源時,該一或多個安全客體資源可供重複使用702。藉由延後取回一或多個安全客體資源,可自運算環境較快移除安全客體,尤其係具有較大安全客體資源之安全客體。此外,當安全客體之移除非同步地取回一或多個安全客體資源時,安全客體資源可供重複使用,此可有利地降低運算環境內之記憶體壓力。
在一個實施例中,取回安全客體之一或多個安全客體資源發生在安全客體之移除之後且與安全客體之移除非同步704。
在一個實施例中,安全客體之移除包括與安全客體之移除同步地取回一或多個其他安全客體資源,同時使得非同步地取回安全客體之一或多個安全客體資源706。
在一個實施例中,一或多個安全客體資源包括與安全客體相關聯之客體記憶體708。
在一個實例中,方法進一步包括藉由主機指定待與安全客體之移除非同步地取回的安全客體之一或多個安全客體資源710。
參考圖7B,在一個實施例中,取回包括判定一或多個安全客體資源處於捨棄狀態,及基於一或多個安全客體處於捨棄狀態,清除一或多個客體資源以供重複使用,其中清除發生在安全客體之移除之後712。以此方式,可較快釋放經捨棄記憶體,此係由於不需要檢查運算環境中之記憶體擁有者是否處於允許移除或清除記憶體之正確狀態。此外,由於可並行地取回記憶體,因此爭用降低。
在一個實施例中,一或多個安全客體資源包括一或多個安全記憶體頁面,且判定包括檢查頁面後設資料以確認一或多個安全記憶體頁面之安全記憶體頁面處於捨棄狀態714。在一個實施例中,取回包括清除一或多個安全記憶體頁面及清除與一或多個安全記憶體頁面相關聯之一或多個安全旗標716。
在一個實例中,起始包括藉由主機將請求發送至運算環境之安全平台以移除安全客體,同時使得與安全客體之移除非同步地取回安全客體之一或多個安全客體資源718。
其他變化及實施例為可能的。
本發明之態樣可由許多類型之運算環境使用。參考圖8A描述併有及使用本發明之一或多個態樣之運算環境的另一實施例。在此實例中,運算環境36包括例如原生中央處理單元(CPU) 37、記憶體38及一或多個輸入/輸出裝置及/或介面39,前述各者經由例如一或多個匯流排40及/或其他連接而彼此耦接。作為實例,運算環境36可包括:由紐約州阿蒙克市之國際商業機器公司供應之PowerPC
®處理器;由加利福尼亞州帕羅奧圖市之惠普公司(Hewlett Packard Co., Palo Alto, California)供應之具有Intel
®Itanium
®II處理器之HP Superdome;及/或基於由國際商業機器公司、惠普公司、因特爾公司、甲骨文公司(Oracle)及/或其他公司供應之架構的其他機器。PowerPC為國際商業機器公司在至少一個管轄區域中之商標或註冊商標。Intel及Itanium為因特爾公司或其子公司在美國及其他國家中之商標或註冊商標。
原生中央處理單元37包括一或多個原生暫存器41,諸如在環境內之處理期間使用之一或多個通用暫存器及/或一或多個專用暫存器。此等暫存器包括表示在任何特定時間點處之環境狀態之資訊。
此外,原生中央處理單元37執行儲存於記憶體38中之指令及程式碼。在一個特定實例中,中央處理單元執行儲存於記憶體38中之仿真器程式碼42。此程式碼使得在一個架構中組態之運算環境能夠仿真另一架構。舉例而言,仿真器程式碼42允許基於除z/Architecture指令集架構以外之架構的機器,諸如PowerPC處理器、HP Superdome伺服器或其他,來仿真z/Architecture指令集架構且執行基於z/Architecture指令集架構開發之軟體及指令。
參考圖8B描述與仿真器程式碼42有關之其他細節。儲存於記憶體38中之客體指令43包含經開發以在除原生CPU 37之架構以外的架構中執行之軟體指令(例如,與機器指令相關)。舉例而言,客體指令43可經設計以在基於z/Architecture指令集架構之處理器上執行,但替代地,在可為例如Intel Itanium II處理器之原生CPU 37上仿真。在一個實例中,仿真器程式碼42包括指令提取常式44以自記憶體38獲得一或多個客體指令43,且視情況提供對所獲得指令之本端緩衝。該仿真器程式碼亦包括指令轉譯常式45以判定已獲得之客體指令之類型且將該客體指令轉譯成一或多個對應原生指令46。此轉譯包括例如識別待藉由客體指令執行之功能及選擇原生指令以執行彼功能。
此外,仿真器程式碼42包括仿真控制常式47以使得執行原生指令。仿真控制常式47可使原生CPU 37執行仿真一或多個先前所獲得之客體指令之原生指令的常式,且在此執行完結時將控制傳回至指令提取常式以仿真獲得下一客體指令或一組客體指令。原生指令46之執行可包括將資料自記憶體38載入至暫存器中;將資料自暫存器儲存回至記憶體;或執行某一類型之算術或邏輯運算(如藉由轉譯常式判定)。
每一常式係例如以軟體來實施,軟體儲存於記憶體中且由原生中央處理單元37執行。在其他實例中,常式或操作中之一或多者係以韌體、硬體、軟體或其某一組合來實施。可使用原生CPU之暫存器41或藉由使用記憶體38中之位置來仿真所仿真處理器的暫存器。在實施例中,客體指令43、原生指令46及仿真器程式碼42可駐留於同一記憶體中或可分配於不同記憶體裝置之中。
可仿真之指令、命令或調用包括根據本發明之一或多個態樣之本文中所描述之可信賴執行環境調用。此外,根據本發明之一或多個態樣,可仿真本發明之其他指令、命令、功能、操作、調用及/或一或多個態樣。
上文所描述之運算環境僅為可使用之運算環境的實例。可使用其他環境,包括但不限於未經分割之環境、經分割之環境、雲端環境及/或仿真環境;實施例不限於任一種環境。儘管本文中描述運算環境之各種實例,但本發明之一或多個態樣可與許多類型之環境一起使用。本文中所提供之運算環境僅為實例。
每一運算環境能夠經組態以包括本發明之一或多個態樣。
一或多個態樣可係關於雲端運算。
應理解,儘管本發明包括關於雲端運算之詳細描述,但本文中所敍述之教示的實施不限於雲端運算環境。實情為,本發明之實施例能夠結合現在已知或稍後開發之任何其他類型之運算環境來實施。
雲端運算為用於使得能夠對可組態運算資源(例如,網路、網路頻寬、伺服器、處理、記憶體、儲存器、應用程式、虛擬機及服務)之共用集區進行便利之按需網路存取的服務遞送之模型,可組態運算資源可藉由最少的管理工作或與服務提供者之互動而快速地佈建及釋放。此雲端模型可包括至少五個特性、至少三個服務模型及至少四個部署模型。
特性如下:
按需自助服務:雲端客戶可視需要自動地單方面地佈建運算能力(諸如,伺服器時間及網路儲存空間),而無需與服務之提供者之人為互動。
隨處網路存取:可經由網路獲得能力及經由標準機制存取能力,該等標準機制藉由異質精簡型或複雜型用戶端平台(例如,行動電話、膝上型電腦及PDA)促進使用。
資源集用:提供者之與運算資源經集用以使用多租戶模型為多個客戶服務,其中根據需要動態指派及重新指派不同實體及虛擬資源。存在位置獨立性之意義,此係因為客戶通常不具有對所提供資源之確切位置的控制或瞭解,但可能夠按較高抽象層級(例如,國家、州或資料中心)指定位置。
快速彈性:可快速地且彈性地佈建能力,在一些情況下自動地佈建能力,以迅速地向外延展,且可快速地釋放能力以迅速地向內延展。在客戶看來,可用於佈建之能力通常呈現為無限的且可在任何時間以任何量來購買。
所量測服務:雲端系統藉由在適於服務類型(例如,儲存、處理、頻寬及作用中使用者賬戶)之某一抽象層級下充分利用計量能力而自動控制及最佳化資源使用。可監測、控制及報告資源使用狀況,由此向所利用服務之提供者及客戶兩者提供透明度。
服務模型如下:
軟體即服務(SaaS):提供至客戶之能力係使用在雲端基礎結構上執行的提供者之應用程式。可經由諸如網頁瀏覽器(例如,基於網頁之電子郵件)之精簡型用戶端介面自各種用戶端裝置存取應用程式。客戶並不管理或控制包括網路、伺服器、作業系統、儲存器或甚至個別應用程式能力之基礎雲端基礎結構,其中可能的異常為有限的使用者特定應用程式組態設定。
平台即服務(PaaS):提供至客戶之能力係將客戶建立之應用程式或使用提供者所支援的程式設計語言及工具建立之所獲取應用程式部署至雲端基礎結構上。客戶並不管理或控制包括網路、伺服器、作業系統或儲存器之基礎雲端基礎結構,但具有對所部署之應用程式及可能的代管環境組態之應用程式的控制。
基礎結構即服務(IaaS):提供給客戶之能力係佈建處理、儲存、網路及其他基礎運算資源,其中客戶能夠部署及執行可包括作業系統及應用程式之任意軟體。客戶並不管理或控制基礎雲端基礎結構,但控制作業系統、儲存器、所部署應用程式,及可能有限地控制選擇網路連接組件(例如,主機防火牆)。
部署模型如下:
私用雲端:僅針對組織操作雲端基礎結構。私用雲端可由組織或第三方來管理且可存在於內部或外部。
社群雲端:該雲端基礎結構由若干組織共用且支援具有共用關注事項(例如,任務、安全要求、策略及合規性考量)之特定社群。社群雲端可由組織或第三方來管理且可存在於內部或外部。
公用雲端:使雲端基礎結構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:雲端基礎結構係兩個或更多個雲端(私用、社群或公用)之組合物,該等雲端保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡的雲端爆裂)之標準化或專屬技術繫結在一起。
藉由集中於無國界、低耦接、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵係包括互連節點之網路的基礎結構。
現參考圖9,描繪說明性雲端運算環境50。如所展示,雲端運算環境50包括一或多個雲端運算節點52,雲端客戶所使用之諸如個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N的本端運算裝置可與該一或多個雲端運算節點進行通訊。節點52可彼此通訊。可在諸如如上文所描述之私用、社群、公用或混合雲端或其組合之一或多個網路中將該等節點實體地或虛擬地分組(未展示)。此情形允許雲端運算環境50供應基礎結構、平台及/或軟體作為服務,針對該等服務,雲端客戶不需要在本端運算裝置上維護資源。應理解,圖7中所展示之運算裝置54A至54N之類型意欲僅為說明性的,且運算節點52及雲端運算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通訊。
現參考圖10,展示由雲端運算環境50 (圖9)所提供之功能抽象層之集合。事先應理解,圖10中所示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:
硬體及軟體層60包括硬體及軟體組件。硬體組件之實例包括:大型電腦61;基於精簡指令集電腦(IRSC)架構之伺服器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。
本發明之態樣可為在任何可能的技術細節整合層級下之系統、方法及/或電腦程式產品。電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上有電腦可讀程式指令以使處理器進行本發明之態樣。
電腦可讀儲存媒體可為有形裝置,其可保持及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可為例如但不限於電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前文之任何合適組合。電腦可讀儲存媒體之更特定實例之非窮盡性清單包括以下:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可擦除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型緊密光碟唯讀記憶體(CD-ROM)、數位化光碟(DVD)、記憶棒、軟碟、機械編碼裝置(諸如其上記錄有指令之溝槽中之打孔卡片或凸起結構)及前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性訊號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纖電纜傳遞之光脈衝),或經由導線傳輸之電訊號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別運算/處理裝置或經由例如,網際網路、區域網路、廣域網路及/或無線網路之網路下載至外部電腦或外部儲存裝置。網路可包含銅傳輸電纜、光傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一運算/處理裝置中之網路配接器或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別運算/處理裝置內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合撰寫的組譯器指令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料、用於積體電路系統之組態資料,或原始碼或目標碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者電腦上執行、部分地在使用者電腦上執行、作為獨立套裝軟體執行、部分地在使用者電腦上執行且部分地在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一種情境中,遠端電腦可經由任何類型之網路,包括區域網路(LAN)或廣域網路(WAN),而連接至使用者的電腦,或可連接至外部電腦(例如,經由使用網際網路服務提供者之網際網路)。在一些實施例中,包括例如可程式化邏輯電路系統、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA)之電子電路系統可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本發明之態樣。
本文中參考根據本發明之實施例的方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖中之每一區塊以及流程圖說明及/或方塊圖中的區塊的組合。
可將此等電腦可讀程式指令提供至電腦或其他可程式化資料處理設備之處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理設備之處理器執行之指令建立用於實施一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之方式。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,以使得儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式資料處理設備或其他裝置上,以使一系列操作步驟在電腦、其他可程式化設備或其他裝置上執行以產生電腦實施的程序,使得在電腦、其他可程式化設備或其他裝置上執行的指令實施一或多個流程圖區塊及/或方塊圖區塊中所指定的功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方法及電腦程式產品之可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令的模組、區段或部分,其包含用於實施一或多個指定邏輯函式之一或多個可執行指令。在一些替代實施中,區塊中提及之功能可不以諸圖中所提及之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個區塊實際上可實現為一個步驟,同時、實質上同時、以部分或完全在時間上重疊之方式執行,或該等區塊有時可以相反次序執行。亦將注意,可藉由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統實施方塊圖及/或流程圖說明之每一區塊及方塊圖及/或流程圖說明中之區塊之組合。
除上述以外,可藉由供應客戶環境之管理之服務提供者提供、供應、部署、管理、服務一或多個態樣等。舉例而言,服務提供者可建立、維持、支援電腦程式碼及/或執行用於一或多個客戶之一或多個態樣的電腦基礎結構等。作為回報,服務提供者可根據訂用及/或收費協議接收來自客戶之付款,作為實例。另外或替代地,服務提供者可接收來自向一或多個第三方出售廣告內容之付款。
在一個態樣中,可部署一應用程式以用於執行一或多個實施例。作為一個實例,應用程式之部署包含提供可用以執行一或多個實施例之電腦基礎結構。
作為另一態樣,可部署運算基礎結構,包含將電腦可讀程式碼整合至運算系統中,其中程式碼與運算系統結合能夠執行一或多個實施例。
作為又一態樣,可提供一種用於將包含整合電腦可讀程式碼之運算基礎結構整合至電腦系統之程序。電腦系統包含電腦可讀媒體,其中電腦媒體包含一或多個實施例。程式碼結合電腦系統能夠執行一或多個實施例。
雖然上文描述各種實施例,但其僅為實例。舉例而言,其他架構之運算環境可用以併有及/或使用一或多個態樣。此外,可使用不同指令、命令、功能、調用及/或操作。另外,可使用不同類型之結構。許多變化係可能的。
本文中描述各種態樣。此外,在不脫離本發明之態樣之精神的情況下,許多變化係可能的。應注意,除非不一致,否則本文所描述之每一態樣或特徵及其變體可與任何其他態樣或特徵組合。
此外,其他類型之運算環境可為有益的且可被使用。作為一實例,可使用適合於儲存及/或執行程式碼之資料處理系統,其包括直接或經由系統匯流排間接地耦接至記憶體元件之至少兩個處理器。記憶體元件包括例如在實際執行程式碼期間使用之本端記憶體、大容量儲存器,及提供至少某一程式碼之臨時儲存以便減少在執行期間必須自大容量儲存器擷取程式碼之次數的快取記憶體。
輸入/輸出或I/O裝置(包括但不限於鍵盤、顯示器、指標裝置、DASD、磁帶、CD、DVD、隨身碟(thumb drive)及其他記憶體媒體等)可直接地或經由介入I/O控制器耦接至系統。網路配接器亦可耦接至系統以使得資料處理系統能夠變成經由介入之私人網路或公用網路耦接至其他資料處理系統或遠端印表機或儲存裝置。數據機、電纜數據機及乙太網路卡僅為幾種可用類型之網路配接器。
本文中所使用之術語僅出於描述特定實施例之目的,且並不意欲限制本發明。如本文中所使用,單數形式「一(a/an)」及「該(the)」同樣意欲包括複數形式,除非上下文另外明確指示。將進一步理解,術語「包含(comprise)」及/或「包含(comprising)」在用於本說明書中時指定所陳述特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組之存在或添加。
以下申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效物(若存在)意欲包括用於結合如特定主張之其他所主張元件來執行功能的任何結構、材料或動作。已出於說明及描述之目的呈現一或多個實施例之描述,但其不意欲為窮盡性的或限於所揭示之形式。許多修改及變化將對一般熟習此項技術者顯而易見。實施例經選擇及描述以最佳地解釋各種態樣及實際應用,以使得一般熟習此項技術者能夠理解各種實施例及適於所涵蓋之特定用途的各種修改。
36:運算環境
37:原生中央處理單元
38:記憶體
39:輸入/輸出裝置
40:匯流排
41:暫存器
42:仿真器程式碼
43:客體指令
44:指令提取常式
45:指令轉譯常式
46:原生指令
47:仿真控制常式
50:雲端運算環境
52:雲端運算節點
54A:蜂巢式電話
54B:桌上型電腦
54C:膝上型電腦
54N:汽車電腦系統
60:硬體及軟體層
61:大型電腦
62:基於精簡指令集電腦架構之伺服器
63:伺服器
64:刀鋒伺服器
65:儲存裝置
66:網路及網路連接組件
67:網路應用程式伺服器軟體
68:資料庫軟體
70:虛擬化層
71:虛擬伺服器
72:虛擬儲存器
73:虛擬網路
74:虛擬應用程式及作業系統
75:虛擬用戶端
80:管理層
81:資源佈建
82:計量及定價
83:使用者入口網站
84:服務等級管理
85:服務等級協議規劃及實現
90:工作負載層
91:地圖繪製及導航
92:軟體開發及生命週期管理
93:虛擬教室教育遞送
94:資料分析處理
95:異動處理
96:安全客體資源處理之延後取回之佈建
100:運算環境
102:中央處理器複合體
104:記憶體/主儲存器
106:輸入/輸出裝置
108:輸入/輸出控制單元
110:處理器單元
111:輸入/輸出子系統
112:虛擬機
114:超管理器
115:安全平台
116:處理器韌體
120:程式
122:客體作業系統
140:資料儲存裝置
142:程式
144:電腦可讀程式指令
200:安全客體
201:安全客體資源
210:安全客體影像
220:安全客體後設資料
230:機密資料
300:客體記憶體
301:其他記憶體
302:其他資源
400:步驟
402:步驟
404:步驟
406:步驟
408:步驟
410:步驟
412:步驟
414:步驟
500:記憶體頁面後設資料資料結構
502:項目
504:頁面識別符
506:指示符
600:捨棄狀態之安全記憶體
602:記憶體頁面後設資料
604:安全旗標
610:步驟
612:步驟
614:步驟
700:步驟
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
712:步驟
714:步驟
716:步驟
718:步驟
在本說明書之結尾處之申請專利範圍中作為實例特別地指出且清楚地主張一或多個態樣。一或多個態樣之前述內容及目標、特徵及優勢自結合隨附圖式進行之以下詳細描述顯而易見,在隨附圖式中:
圖1描繪併有及使用本發明之一或多個態樣之運算環境的一個實例;
圖2描繪根據本發明之一或多個態樣的其中安全客體中包括機密資料之安全客體及安全客體資源之一個實例;
圖3為根據本發明之一或多個態樣之由運算環境的安全客體利用之安全客體資源之一個實施例的方塊圖表示;
圖4描繪說明本發明之一或多個實施例之某些態樣的工作流程之一個實施例;
圖5描繪根據本發明之一或多個態樣之使用的記憶體頁面後設資料之一個實例;
圖6為說明本發明之一或多個實施例之某些態樣的另一工作流程之方塊圖表示;
圖7A至圖7B描繪根據本發明之一或多個態樣之促進運算環境內的處理之一個實例;
圖8A描繪併有及使用本發明之一或多個態樣之運算環境的另一實例;
圖8B描繪根據本發明之一或多個態樣之圖8A的記憶體之其他細節;
圖9描繪根據本發明之一或多個態樣之雲端運算環境的一個實施例;且
圖10描繪根據本發明之一或多個態樣之抽象模型層的一個實例。
700:步驟
702:步驟
704:步驟
706:步驟
708:步驟
Claims (20)
- 一種用於促進一運算環境內之處理的電腦程式產品,該電腦程式產品包含: 至少一種電腦可讀儲存媒體,其具有藉由其體現之程式指令,該等程式指令可由一處理電路讀取以使得該處理電路執行一方法,該方法包含: 藉由該運算環境之一主機起始自該運算環境移除一安全客體,同時使得與該安全客體之該移除非同步地取回該安全客體之一或多個安全客體資源;及 與該安全客體之移除非同步地取回該一或多個安全客體資源,其中當與該安全客體之該移除非同步地取回該一或多個安全客體資源時,該一或多個安全客體資源可供重複使用。
- 如請求項1之電腦程式產品,其中取回該安全客體之該一或多個安全客體資源發生在該安全客體的移除之後且與該安全客體的移除非同步。
- 如請求項1之電腦程式產品,其中該安全客體之移除包括與該安全客體之移除同步取回一或多個其他安全客體資源,同時使得非同步地取回該安全客體之該一或多個安全客體資源。
- 如請求項1之電腦程式產品,其中該一或多個安全客體資源包含與該安全客體相關聯之客體記憶體。
- 如請求項1之電腦程式產品,其進一步包含藉由該主機指定待與該安全客體之移除非同步地取回的該安全客體之該一或多個安全客體資源。
- 如請求項1之電腦程式產品,其中該取回包含:判定該一或多個安全客體資源處於一捨棄狀態;及基於該一或多個安全客體資源處於該捨棄狀態,清除該一或多個安全客體資源以供重複使用,該清除發生在該安全客體之移除之後。
- 如請求項6之電腦程式產品,其中該一或多個安全客體資源包含一或多個安全記憶體頁面,且該判定包含檢查頁面後設資料以確認該一或多個安全記憶體頁面之一安全記憶體頁面處於該捨棄狀態。
- 如請求項7之電腦程式產品,其中該取回包含:清除該一或多個安全記憶體頁面;及清除與該一或多個安全記憶體頁面相關聯之一或多個安全旗標。
- 如請求項1之電腦程式產品,其中該起始包含:藉由該主機將一請求發送至該運算環境之一安全平台以移除該安全客體,同時使得與該安全客體之移除非同步地取回該安全客體之該一或多個安全客體資源。
- 一種用於促進一運算環境內之處理的電腦系統,該電腦系統包含: 一記憶體;及 至少一個處理器,其與該記憶體通訊,其中該電腦系統經組態以執行一方法,該方法包含: 藉由該運算環境之一主機起始自該運算環境移除一安全客體,同時使得與該安全客體之該移除非同步地取回該安全客體之一或多個安全客體資源;及 與該安全客體之移除非同步地取回該一或多個安全客體資源,其中當與該安全客體之該移除非同步地取回該一或多個安全客體資源時,該一或多個安全客體資源可供重複使用。
- 如請求項10之電腦系統,其中取回該安全客體之該一或多個安全客體資源發生在該安全客體的移除之後且與該安全客體的移除非同步。
- 如請求項10之電腦系統,其中該安全客體之移除包括與該安全客體之移除同步取回一或多個其他安全客體資源,同時使得非同步地取回該安全客體之該一或多個安全客體資源。
- 如請求項10之電腦系統,其中該一或多個安全客體資源包含與該安全客體相關聯之客體記憶體。
- 如請求項10之電腦系統,其進一步包含藉由該主機指定待與該安全客體之移除非同步地取回的該安全客體之該一或多個安全客體資源。
- 如請求項10之電腦系統,其中該取回包含:判定該一或多個安全客體資源處於一捨棄狀態;及基於該一或多個安全客體資源處於該捨棄狀態,清除該一或多個安全客體資源以供重複使用,該清除發生在該安全客體之移除之後。
- 如請求項15之電腦系統,其中該一或多個安全客體資源包含一或多個安全記憶體頁面,且該判定包含檢查頁面後設資料以確認該一或多個安全記憶體頁面之一安全記憶體頁面處於該捨棄狀態。
- 如請求項16之電腦系統,其中該取回包含:清除該一或多個安全記憶體頁面;及清除與該一或多個安全記憶體頁面相關聯之一或多個安全旗標。
- 一種用於促進一運算環境內之處理的電腦實施方法,該電腦實施方法包含: 藉由該運算環境之一主機起始自該運算環境移除一安全客體,同時使得與該安全客體之該移除非同步地取回該安全客體之一或多個安全客體資源;及 與該安全客體之移除非同步地取回該一或多個安全客體資源,其中當與該安全客體之該移除非同步地取回該一或多個安全客體資源時,該一或多個安全客體資源可供重複使用。
- 如請求項18之電腦實施方法,其中取回該安全客體之該一或多個安全客體資源發生在該安全客體的移除之後且與該安全客體的移除非同步。
- 如請求項18之電腦實施方法,其中該安全客體之移除包括與該安全客體之移除同步取回一或多個其他安全客體資源,同時使得非同步地取回該安全客體之該一或多個安全客體資源。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/394,642 | 2021-08-05 | ||
US17/394,642 US20230039894A1 (en) | 2021-08-05 | 2021-08-05 | Deferred reclaiming of secure guest resources |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202307707A true TW202307707A (zh) | 2023-02-16 |
TWI840804B TWI840804B (zh) | 2024-05-01 |
Family
ID=85153560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111117742A TWI840804B (zh) | 2021-08-05 | 2022-05-12 | 相關於安全客體資源之延後取回之電腦程式產品、電腦系統及電腦實施方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230039894A1 (zh) |
CN (1) | CN117751352A (zh) |
DE (1) | DE112022003818T5 (zh) |
GB (1) | GB2624593A (zh) |
TW (1) | TWI840804B (zh) |
WO (1) | WO2023012655A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829495B2 (en) * | 2021-08-05 | 2023-11-28 | International Business Machines Corporation | Confidential data provided to a secure guest via metadata |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223256B1 (en) * | 1997-07-22 | 2001-04-24 | Hewlett-Packard Company | Computer cache memory with classes and dynamic selection of replacement algorithms |
US20050235045A1 (en) * | 2004-03-05 | 2005-10-20 | International Business Machines Corporation | Portable personal computing environment server |
US8943260B2 (en) * | 2011-03-13 | 2015-01-27 | International Business Machines Corporation | Dynamic memory management in a virtualized computing environment |
US8578006B2 (en) * | 2011-03-29 | 2013-11-05 | Symantec Corporation | Enabling selective policy driven propagation of configuration elements between and among a host and a plurality of guests |
CN103870332B (zh) * | 2012-12-13 | 2017-08-25 | 中国电信股份有限公司 | 虚拟机处理器资源的调整方法、装置与虚拟机系统 |
CN107005619B (zh) * | 2015-11-13 | 2020-12-25 | 华为技术有限公司 | 一种注册移动销售点终端pos的方法、对应装置及系统 |
CN106503547B (zh) * | 2016-09-30 | 2019-07-05 | 北京北信源软件股份有限公司 | 一种基于VMWare WorkStation的Windows虚拟机进程枚举方法 |
US10348813B2 (en) * | 2016-10-28 | 2019-07-09 | International Business Machines Corporation | Provisioning a bare-metal server |
US10740227B2 (en) * | 2017-04-28 | 2020-08-11 | Vmware, Inc. | Reclaiming storage resources |
US10778432B2 (en) * | 2017-11-08 | 2020-09-15 | Wickr Inc. | End-to-end encryption during a secure communication session |
CN109885377B (zh) * | 2018-11-23 | 2023-04-28 | 中国银联股份有限公司 | 统一资源调度协调器及其创建虚拟机和/或容器的方法、统一资源调度系统 |
US11080079B2 (en) * | 2019-01-14 | 2021-08-03 | Vmware, Inc. | Autonomously reproducing and destructing virtual machines |
US11030120B2 (en) * | 2019-06-27 | 2021-06-08 | Intel Corporation | Host-convertible secure enclaves in memory that leverage multi-key total memory encryption with integrity |
US11533174B2 (en) * | 2020-01-29 | 2022-12-20 | International Business Machines Corporation | Binding secure objects of a security module to a secure guest |
US20220318042A1 (en) * | 2021-04-01 | 2022-10-06 | RAMScaler, Inc. | Distributed memory block device storage |
-
2021
- 2021-08-05 US US17/394,642 patent/US20230039894A1/en active Pending
-
2022
- 2022-05-12 TW TW111117742A patent/TWI840804B/zh active
- 2022-08-02 GB GB2402897.9A patent/GB2624593A/en active Pending
- 2022-08-02 WO PCT/IB2022/057151 patent/WO2023012655A1/en active Application Filing
- 2022-08-02 CN CN202280050128.1A patent/CN117751352A/zh active Pending
- 2022-08-02 DE DE112022003818.7T patent/DE112022003818T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117751352A (zh) | 2024-03-22 |
US20230039894A1 (en) | 2023-02-09 |
TWI840804B (zh) | 2024-05-01 |
GB2624593A (en) | 2024-05-22 |
WO2023012655A1 (en) | 2023-02-09 |
DE112022003818T5 (de) | 2024-05-29 |
GB202402897D0 (en) | 2024-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102551935B1 (ko) | 보안 운영 체제 이미지의 점진적 복호화 및 무결성 검증 | |
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
TWI806622B (zh) | 儲存安全虛擬機器之診斷狀態 | |
TW202248864A (zh) | 重設動態位址轉譯保護指令 | |
TW202307711A (zh) | 安全客體映像及後設資料更新 | |
US20180137273A1 (en) | Secure debugging in a trustable computing environment | |
TWI840804B (zh) | 相關於安全客體資源之延後取回之電腦程式產品、電腦系統及電腦實施方法 | |
TWI827045B (zh) | 關於透過元資料提供至安全客戶之機密資料之電腦程式產品、電腦系統及電腦實施方法 | |
TWI822038B (zh) | 用於安全客戶之多部分元資料之客製化之電腦程式產品、電腦系統及電腦實施方法 | |
CA3217422A1 (en) | Attestation of a secure guest | |
TWI829173B (zh) | 虛擬機器執行期間無法存取之前綴頁面 | |
JP2024530593A (ja) | セキュア・ゲスト・リソースの延期された回収 |