TW202307705A - 透過元資料提供至安全客戶之機密資料 - Google Patents

透過元資料提供至安全客戶之機密資料 Download PDF

Info

Publication number
TW202307705A
TW202307705A TW111117577A TW111117577A TW202307705A TW 202307705 A TW202307705 A TW 202307705A TW 111117577 A TW111117577 A TW 111117577A TW 111117577 A TW111117577 A TW 111117577A TW 202307705 A TW202307705 A TW 202307705A
Authority
TW
Taiwan
Prior art keywords
confidential information
client
computer
metadata
secure
Prior art date
Application number
TW111117577A
Other languages
English (en)
Other versions
TWI827045B (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 TW202307705A publication Critical patent/TW202307705A/zh
Application granted granted Critical
Publication of TWI827045B publication Critical patent/TWI827045B/zh

Links

Images

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

一計算環境之一安全客戶請求機密資料。該機密資料包括於該安全客戶之元資料中,該元資料儲存於該計算環境之一可信賴執行環境中。基於該請求,自儲存於該可信賴執行環境中之該安全客戶的該元資料獲得該機密資料。

Description

透過元資料提供至安全客戶之機密資料
一或多個態樣大體上係關於促進計算環境內之處理,且詳言之,係關於改良此類處理。
計算環境可支援虛擬化,其中計算環境之超管理器或虛擬機管理器代管各種客戶,諸如計算環境之虛擬機或虛擬伺服器。虛擬機可存取系統資源且可執行作業系統,諸如客戶作業系統。不同客戶可由不同所有者擁有,且此等客戶中之一些可為安全客戶。
傳統超管理器可完全控制經代管客戶。詳言之,超管理器具有檢測且甚至修改經代管客戶之記憶體之能力。然而,安全客戶為可由不完全可信賴之超管理器代管之客戶。此安全客戶之影像將在載入時受到保護,且指派給客戶(例如,記憶體、CPU暫存器)之資源的內容之保護將在客戶之整個生命期期間得到維持。客戶之保護至少包括完整性保護(例如,超管理器無法惡意地改變任何客戶狀態),且另外可包括維持在安全客戶中運行之初始影像、程式碼及資料的機密性。
安全客戶可能希望能夠存取安全客戶之機密資料。將促進用於將此類機密資料提供至安全客戶之處理。
經由提供一種用於促進計算環境內之處理的電腦程式產品來克服先前技術之缺點且提供額外優點。該電腦程式產品包括一或多個電腦可讀儲存媒體及共同地儲存於該一或多個電腦可讀儲存媒體上以執行方法之程式指令。該方法包括藉由計算環境之安全客戶請求機密資料。機密資料包括於安全客戶之元資料中。元資料儲存於計算環境之可信賴執行環境中。基於請求,自儲存於可信賴執行環境中之安全客戶的元資料獲得機密資料。此以有效方式向安全客戶提供機密資料,從而改良系統效能。
在一個實例中,請求包括對可信賴執行環境之調用功能以請求機密資料。作為實例,調用功能為不可攔截的。
在一個態樣中,機密資料具有與其相關聯之識別符。
此外,在一個實例中,請求包括對可信賴執行環境之調用功能以請求機密資料,且調用功能包括機密資料之識別符。識別符用於將與識別符相關聯之機密資料返回至安全客戶。識別符之使用有助於提供與識別符相關聯之機密資料,從而允許將多個機密資料項目儲存於安全客戶之元資料中,且存取特定機密資料項目,且確保保護。
在一個實例中,機密資料包括待用於加密操作中之密鑰。作為實例,基於請求且基於密鑰之明文值不應提供至安全客戶的指示,自密鑰導出之受保護密鑰對象由安全客戶獲得。受保護密鑰對象經限制以供安全客戶之調用實例使用且不存在密鑰之明文值。
可信賴執行環境可將密鑰轉換成受保護密鑰對象,該受保護密鑰對象不包括密鑰之明文值且僅由安全客戶之調用實例啟用以在計算環境中使用。若安全客戶自可信賴執行環境請求類型密鑰之機密資料,則可信賴執行環境返回可由安全客戶在計算環境之加密操作中使用的受保護密鑰對象。此允許安全客戶獲得且使用其明文值未在計算環境之可信賴韌體外部揭示之密鑰。
在一個實例中,指示包括於可由可信賴執行環境存取之資料結構中,該資料結構經組態以將機密資料提供至安全客戶。
作為實例,機密資料由安全客戶使用以建立與計算環境外部之實體的安全通信。此促進通訊,從而改良與其相關聯之處理。
在一個實例中,元資料受完整性保護,具有用於安全客戶之影像的一或多個完整性度量,且包括由可信賴執行環境專門解密之元資料之加密部分中之機密資料。此保護機密資料,其中在一個實施例中,僅可信賴執行環境可解密元資料。
本文中亦描述且主張與一或多個態樣有關之電腦實施方法及系統。另外,本文中亦描述且可主張與一或多個態樣有關之服務。
經由本文中所描述之技術實現額外特徵及優點。本文中詳細描述其他實施例及態樣且將其視為所主張態樣之一部分。
根據本發明之一或多個態樣,提供一種促進計算環境內之處理的能力。作為實例,該能力包括在載入安全客戶之後將機密資料(亦稱為秘密)提供至計算環境之安全客戶。在一個實例中,提供機密資料,例如,在不改變或重新載入安全客戶之影像之情況下且不知道將置放機密資料之特定位置之情況下(例如,在不知道將置放資料的安全客戶之記憶體中的特定位置之情況下)。作為實例,機密資料包括於安全客戶之元資料中,且將元資料載入至可信賴執行環境中。基於對機密資料之請求,自可信賴執行環境擷取機密資料且將其置放於安全客戶中。在一個實例中,機密資料之明文表示經提供至安全客戶。在另一實例中,提供機密資料之加密表示。
參考圖1描述併有及使用本發明之一或多個態樣之計算環境的一個實施例。作為實例,該計算環境係基於由紐約州阿蒙克市之國際商業機器公司(International Business Machines Corporation)提供之z/Architecture ®指令集架構。z/Architecture指令集架構之一個實施例描述於名稱為「z/Architecture Principles of Operation」之公開案(IBM公開案第SA22-7832-12號,第十三版,2019年9月)中,該公開案特此以全文引用之方式併入本文中。然而,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安全執行)至可信賴執行環境。為處理機密資訊,可信賴執行環境使用匹配之私用主機密鑰。私用主機密鑰特定於伺服器,例如,IBM Z ®伺服器,且受硬體保護。
處理器韌體116包括例如處理器之微碼或毫碼。其包括例如用於實施較高層級機器碼之硬體層級指令及/或資料結構。在一個實施例中,其包括例如專屬碼,該專屬碼通常作為包括可信賴軟體之微碼或毫碼、特定於底層硬體之微碼或毫碼而遞送,且控制對系統硬體之作業系統存取。
中央處理器複合體之虛擬機支援提供操作大量虛擬機112之能力,該等虛擬機112各自能夠藉由不同程式120操作且運行客戶作業系統122,諸如Linux ®作業系統。每一虛擬機112能夠充當單獨系統。亦即,每一虛擬機可獨立地進行重設,運行客戶作業系統,且藉由不同程式操作。在虛擬機中運行之作業系統或應用程式呈現為能夠存取完整系統,但實際上,僅其一部分可用。儘管供應z/VM及Linux作為實例,但可根據本發明之一或多個態樣使用其他虛擬機管理器及/或作業系統。註冊商標Linux ®係依照來自Linux基金會(Linux Foundation)之轉授權而使用,該基金會為該商標在全球範圍內的所有者Linus Torvalds之獨家被授權人。
在一個實施例中,一或多個客戶112為安全客戶。參考圖2,安全客戶200由超管理器(例如,超管理器114)以超管理器無法觀測到安全客戶之狀態(例如,記憶體,暫存器等)的方式啟動。舉例而言,在機密計算之一個實施例中,超管理器可啟動/停止安全客戶,且超管理器知曉用於啟動安全客戶之資料位於何處但其無法深入運行安全客戶。用於載入/啟動安全客戶之資料可以超管理器無法看到安全客戶之方式加密。安全客戶影像之所有者將機密資料置放於安全客戶元資料中,且接著產生安全客戶影像以及安全客戶元資料。在載入安全客戶之後,藉由諸如可信賴執行環境115之可信賴執行環境處理與安全客戶之狀態的任何互動。
在一個實施例中,為啟動安全客戶,超管理器將安全客戶影像210及安全客戶元資料220傳遞至可信賴執行環境115。元資料受完整性保護且至少部分地受機密保護,且僅由可信賴執行環境解譯。基於安全客戶元資料中之資訊,可信賴執行環境接著可加強載入至記憶體中之安全客戶影像之完整性,保護含有載入影像之安全客戶之記憶體免於可由超管理器存取,且在啟動安全客戶之前潛在地解密安全客戶影像。
根據本發明之一或多個態樣,在載入安全客戶之後,可能需要向安全客戶供應使用者特定機密資料230 (例如,用以執行加密或建立安全連接之密鑰、密碼等)。在一個態樣中,在不重新載入或改變已載入之安全客戶影像之情況下將機密資料包括於安全客戶中。又另外,可信賴執行環境不需要知道安全客戶之記憶體佈局以便將機密資料置放於安全客戶中。另外,在一個實施例中,以安全客戶不知道機密資料之明文值的方式將此機密資料供應至安全客戶。在另一實施例中,機密資料作為明文資料返回至安全客戶。
根據本發明之一態樣,安全客戶之元資料之機密保護部分(例如,安全客戶元資料220)經擴展以含有機密資料(例如,機密資料230;例如,可載入於安全客戶中之使用者特定機密資料)。在一個實例中,安全客戶之元資料經擴展以含有機密資料以及機密資料之一或多個識別符。在又另一實例中,安全客戶之元資料進一步經擴展以包括用於指示機密資料是否可作為明文值返回至安全客戶之指示符。亦存在其他可能性。
參考圖3描述用於包括(機密資料、識別符、指示符)三元清單之資料結構的一個實施例。在一個實例中,元資料資料結構300可由可信賴執行環境115存取,且包括例如一或多個條目302。每一條目302包括例如機密資料304、機密資料之識別符306,及機密資料是否可作為明文值返回至安全客戶之指示符308。舉例而言,由可信賴執行環境使用此資料結構,以將所請求機密資料提供至安全客戶。
參考圖4A至圖4D描述用於將機密資料提供至安全客戶(例如,在載入安全客戶影像之後及/或自除客戶之所有者以外的源)的處理之一個實例。如圖4A中所展示,安全客戶影像400及包括機密資料404之元資料402可供使用以作為安全客戶載入影像。在一個實例中,參考圖4B,超管理器410將安全客戶影像400載入412至計算環境之記憶體中以創建安全客戶414。此外,超管理器410將元資料402載入至可信賴執行環境420中。
參考圖4C,可信賴執行環境420執行例如一或多個完整性檢查,視情況解密安全客戶影像且啟動422安全客戶影像402作為安全客戶414。
此外,根據本發明之一態樣且參考圖4D,安全客戶414請求儲存於定位於可信賴執行環境420中之元資料402中之機密資料404。在一個實例中,經由自安全客戶414至可信賴執行環境420之調用430來執行該請求。該調用為例如不可攔截的,此係因為其直接針對可信賴執行環境,且包括例如所請求機密資料之識別符。在一個實例中,所請求機密資料為可載入安全客戶內之資料。舉例而言,其為密鑰、密碼等。
基於該調用,可信賴執行環境使用例如元資料資料結構300自安全客戶元資料(例如,元資料402)返回所請求機密資料(例如,與識別符相關聯)的表示。在一個實例中,該表示為機密資料之明文表示。在另一實例中,若與識別符相關聯之指示符指示機密資料不可返回為明文值,則該表示為機密資料之非明文表示(例如,經加密)。舉例而言,若機密資料為密鑰,則可信賴執行環境將密鑰轉換成不包括密鑰之明文值的受保護密鑰對象。亦即,若安全客戶自可信賴執行環境請求類型密鑰之機密資料,則可信賴執行環境返回可由安全客戶在例如加密操作中使用的受保護密鑰對象。其他實例係可能的。
作為一個實例表示,若機密資料為加密密鑰,則彼密鑰之表示可為用於安全客戶之受IBM Z ®保護密鑰。亦即,密鑰藉由隱藏於可信賴硬體/韌體中之特定於安全客戶的包裝密鑰包裝(例如,加密)。為提供可由安全客戶使用之明文密鑰,可信賴執行環境將存取安全客戶之包裝密鑰,且在返回明文密鑰之前使用其解開明文密鑰。
在一個實例中,對可信賴執行環境之調用受限於僅可自運行安全客戶之執行環境調用。可信賴執行環境強制可信賴執行環境僅引用及返回來自調用安全客戶之元資料的機密資料。
如本文中所描述,在一或多個態樣中,機密資料將變得可用於受安全客戶之所有者信賴的安全客戶。可在不改變或重新載入安全客戶之影像之情況下設定或改變安全客戶的機密資料。舉例而言,若安全客戶之影像由某一供應商建構,但該安全客戶將基於某一消費者的機密資料運行工作負載,則此會有所幫助。在一個態樣中,不需要安全客戶之記憶體中之架構位置來將機密資料置放於安全客戶的記憶體中。可信賴執行環境不需要知道何時及何處將機密資料置放於代管軟體(亦即,安全客戶)中。此外,在一個態樣中,不需要在啟動客戶之前在可信賴執行環境與安全客戶之所有者之間進行機密資料之雙向通信。可信賴執行環境可在不與影像所有者互動之情況下基於安全客戶之影像及安全客戶之元資料而啟動安全客戶。
在一或多個態樣中,經由一或多個安全客戶之元資料將機密資料提供至一或多個安全客戶包括例如安全地(例如,機密及完整性保護)將安全客戶之元資料傳達至可信賴執行環境。安全客戶之元資料包括待載入之安全客戶之影像的完整性度量(例如,雜湊、訊息鑑認碼值、加密簽章等)。安全客戶之元資料包括機密資料(例如,視情況具有識別符及/或視情況具有明文指示符)。可信賴執行環境支援可由安全客戶調用之可信賴執行環境功能,該可信賴執行環境功能將機密資料返回至安全客戶(例如,視情況由識別符選擇及/或視情況基於明文指示符提供)。安全客戶可使用機密資料(例如,設置/打開加密根卷、密鑰、密碼等)來建立與外部環境之安全通信。在一個實例中,機密資料為密鑰,且可信賴執行環境功能將密鑰返回為受保護密鑰(例如,受可信賴韌體保護之密鑰,系統為該可信賴韌體提供介面以執行加密操作)。功能調用為例如不可攔截的且直接針對可信賴執行環境。
本發明之一或多個態樣不可避免地與電腦技術相關且促進電腦內之處理,從而改良其效能。藉由實現對可用於與其他實體通信之機密資料(例如,密鑰、密碼等)之安全客戶存取來促進處理。藉由不需要重新載入或改變安全客戶影像,藉由不需要與客戶之所有者通信來提供機密資料及/或不知道待置放於安全客戶中之機密資料的確切位置(例如,記憶體位置)來改良效能。
參考圖5A至圖5B描述促進計算環境內之處理的一個實施例之其他細節,此係因為該計算環境與本發明之一或多個態樣有關。
參考圖5A,在一個實施例中,計算環境之安全客戶請求機密資料500。機密資料包括於例如安全客戶之元資料中502。作為實例,元資料儲存於計算環境之可信賴執行環境中504。基於請求,自儲存於可信賴執行環境中之安全客戶的元資料獲得機密資料506。此以有效方式向安全客戶提供機密資料,從而改良系統效能。
在一個實例中,請求包括對可信賴執行環境之調用功能以請求機密資料508。作為實例,調用功能為不可攔截的510。
在一個態樣中,機密資料具有與其相關聯之識別符512。
作為實例,請求包括對可信賴執行環境之調用功能以請求機密資料514,且調用功能包括機密資料之識別符516。識別符用於將與識別符相關聯之機密資料返回至安全客戶518。使用識別符促進提供與識別符相關聯之機密資料,從而允許選擇特定項目及機密資料之類型且確保保護。
在一個實例中,參考圖5B,機密資料包括待用於加密操作中之密鑰520。在一個實例中,基於請求且基於密鑰之明文值不應提供至安全客戶的指示,自密鑰導出之受保護密鑰對象由安全客戶獲得522。受保護密鑰對象經限制以供安全客戶之調用實例使用且不存在密鑰之明文值524。
可信賴執行環境可將密鑰轉換成受保護密鑰對象,該受保護密鑰對象不包括密鑰之明文值且僅由安全客戶之調用實例啟用以在計算環境中使用。若安全客戶自可信賴執行環境請求類型密鑰之機密資料,則可信賴執行環境返回可由安全客戶在計算環境之加密操作中使用的受保護密鑰對象。此允許安全客戶獲得且使用其明文值未在計算環境之可信賴韌體外部揭示之密鑰。
在一個實例中,指示包括於可由可信賴執行環境存取之資料結構中,該資料結構經組態以將機密資料提供至安全客戶526。
在一個實例中,機密資料由安全客戶使用,以建立與計算環境外部之實體的安全通信528。此促進通訊,從而改良與其相關聯之處理。
作為實例,元資料受完整性保護,具有用於安全客戶之影像的一或多個完整性度量,且包括由可信賴執行環境專門解密之元資料之加密部分中之機密資料530。此保護機密資料,其中在一個實施例中,僅可信賴執行環境可解密元資料。
其他變化及實施例係可能的。
本發明之態樣可由許多類型之計算環境使用。參考圖6A描述併有及使用本發明之一或多個態樣的計算環境之另一實施例。在此實例中,計算環境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指令集架構開發之軟體及指令。
參考圖6B描述與仿真器程式碼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):提供至消費者之能力係佈建處理、儲存、網路及其他基礎計算資源,其中消費者能夠部署及執行可包括作業系統及應用程式之任意軟體。消費者並不管理或控制基礎雲端基礎結構,但控制作業系統、儲存器、所部署應用程式,及可能有限地控制選擇網路連接組件(例如,主機防火牆)。
部署模型如下:
私用雲端:僅針對組織操作雲端基礎結構。私用雲端可由組織或第三方來管理且可存在於內部或外部。
社群雲端:該雲端基礎結構由若干組織共用且支援具有共用關注事項(例如,任務、安全要求、策略及合規性考量)之特定社群。社群雲端可由組織或第三方來管理且可存在於內部或外部。
公用雲端:使雲端基礎結構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:雲端基礎結構係兩個或更多個雲端(私用、社群或公用)之組合物,該等雲端保持獨特實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡的雲端爆裂)之標準化或專屬技術繫結在一起。
藉由集中於無國界、低耦接、模組化及語義互操作性對雲端計算環境進行服務定向。雲端計算之關鍵係包括互連節點之網路的基礎結構。
現參考圖7,描繪說明性雲端計算環境50。如所展示,雲端計算環境50包括一或多個雲端計算節點52,雲端消費者所使用之諸如個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N的本端計算裝置可與該一或多個雲端計算節點進行通信。節點52可彼此通信。可在諸如如上文所描述之私用、社群、公用或混合雲端或其組合之一或多個網路中將該等節點實體地或虛擬地分組(未展示)。此情形允許雲端計算環境50供應基礎結構、平台及/或軟體作為服務,針對該等服務,雲端消費者不需要在本端計算裝置上維護資源。應理解,圖7中所展示之計算裝置54A至54N之類型意欲僅為說明性的,且計算節點52及雲端計算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通信。
現參考圖8,展示由雲端計算環境50 (圖7)提供之功能抽象層之集合。事先應理解,圖8中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:
硬體及軟體層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)」及「該」意欲亦包括複數形式。應進一步理解,術語「包含(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:輸入/輸出(I/O)裝置 108:輸入/輸出控制單元 110:處理器單元 111:輸入/輸出(I/O)子系統 112:虛擬機 114:超管理器 115:可信賴執行環境 116:處理器韌體 120:程式 122:客戶作業系統 140:資料儲存裝置 142:程式 144:電腦可讀程式指令 200:安全客戶 210:安全客戶影像 220:安全客戶元資料 230:使用者特定機密資料 300:元資料資料結構 302:條目 304:機密資料 306:識別符 308:指示符 400:安全客戶影像 402:元資料 404:機密資料 410:超管理器 412:載入 414:安全客戶 420:可信賴執行環境 422:啟動 430:調用 500:步驟 502:步驟 504:步驟 506:步驟 508:步驟 510:步驟 512:步驟 514:步驟 516:步驟 518:步驟 520:步驟 522:步驟 524:步驟 526:步驟 528:步驟 530:步驟
在本說明書之結尾處之申請專利範圍中作為實例特定地指出且清楚地主張一或多個態樣。一或多個態樣之前述內容及目標、特徵及優點自結合隨附圖式進行的以下詳細描述顯而易見,在隨附圖式中: 圖1描繪併有及使用本發明之一或多個態樣之計算環境的一個實例; 圖2描繪根據本發明之一或多個態樣的待包括於安全客戶中之機密資料的一個實例; 圖3描繪根據本發明之一或多個態樣使用之元資料資料結構之一個實例; 圖4A至圖4D描繪根據本發明之一或多個態樣的在安全客戶中插入機密資料之過程的一個實例; 圖5A至圖5B描繪根據本發明之一或多個態樣之促進計算環境內之處理的一個實例; 圖6A描繪併有及使用本發明之一或多個態樣之計算環境的另一實例; 圖6B描繪根據本發明之一或多個態樣之圖6A的記憶體之其他細節; 圖7描繪根據本發明之一或多個態樣的雲端計算環境之一個實施例;且 圖8描繪根據本發明之一或多個態樣之抽象模型層的一個實例。
500:步驟
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
514:步驟
516:步驟
518:步驟

Claims (20)

  1. 一種用於促進一計算環境內之處理的電腦程式產品,該電腦程式產品包含: 一或多個電腦可讀儲存媒體及共同地儲存於該一或多個電腦可讀儲存媒體上以執行一方法之程式指令,該方法包含: 藉由該計算環境機密資料之一安全客戶請求包括於該安全客戶之元資料中的機密資料,該元資料儲存於該計算環境之一可信賴執行環境中;及 基於該請求而自儲存於該可信賴執行環境中之該安全客戶之該元資料獲得該機密資料。
  2. 如請求項1之電腦程式產品,其中該請求包括對該可信賴執行環境之一調用功能以請求該機密資料。
  3. 如請求項2之電腦程式產品,其中該調用功能為不可攔截的。
  4. 如請求項1之電腦程式產品,其中該機密資料具有與其相關聯之一識別符。
  5. 如請求項4之電腦程式產品,其中該請求包括對該可信賴執行環境之一調用功能以請求該機密資料,該調用功能包括該機密資料之該識別符,該識別符用於將與該識別符相關聯之該機密資料返回至該安全客戶。
  6. 如請求項1之電腦程式產品,其中該機密資料包括待用於加密操作中之一密鑰。
  7. 如請求項6之電腦程式產品,其中基於該請求且基於該密鑰之一明文值不應提供至該安全客戶的一指示,自該密鑰導出之一受保護密鑰對象由該安全客戶獲得,該受保護密鑰對象經限制以供該安全客戶之一調用實例使用且不存在該密鑰之該明文值。
  8. 如請求項7之電腦程式產品,其中該指示包括於該可信賴執行環境可存取之一資料結構中,該資料結構經組態以將該機密資料提供至該安全客戶。
  9. 如請求項1之電腦程式產品,其中該方法進一步包含由該安全客戶使用該機密資訊來建立與該計算環境外部之一實體之一安全通信。
  10. 如請求項1之電腦程式產品,其中該元資料受完整性保護,具有用於該安全客戶之一影像的一或多個完整性度量,且包括由該可信賴執行環境專門解密之該元資料之一加密部分中之該機密資料。
  11. 一種用於促進一計算環境內之處理的電腦系統,該電腦系統包含: 一記憶體;及 至少一個處理器,其與該記憶體通信,其中該電腦系統經組態以執行一方法,該方法包含: 藉由該計算環境機密資料之一安全客戶請求包括於該安全客戶之元資料中的機密資料,該元資料儲存於該計算環境之一可信賴執行環境中;及 基於該請求而自儲存於該可信賴執行環境中之該安全客戶之該元資料獲得該機密資料。
  12. 如請求項11之電腦系統,其中該機密資料具有與其相關聯之一識別符。
  13. 如請求項12之電腦系統,其中該請求包括對該可信賴執行環境之一調用功能以請求該機密資料,該調用功能包括該機密資料之該識別符,該識別符用於將與該識別符相關聯之該機密資料返回至該安全客戶。
  14. 如請求項11之電腦系統,其中該方法進一步包含由該安全客戶使用該機密資訊來建立與該計算環境外部之一實體之一安全通信。
  15. 如請求項11之電腦系統,其中該元資料受完整性保護,具有用於該安全客戶之一影像的一或多個完整性度量,且包括由該可信賴執行環境專門解密之該元資料之一加密部分中之該機密資料。
  16. 一種促進一計算環境內之處理的電腦實施方法,該電腦實施方法包含: 藉由該計算環境機密資料之一安全客戶請求包括於該安全客戶之元資料中的機密資料,該元資料儲存於該計算環境之一可信賴執行環境中;及 基於該請求而自儲存於該可信賴執行環境中之該安全客戶之該元資料獲得該機密資料。
  17. 如請求項16之電腦實施方法,其中該機密資料具有與其相關聯之一識別符。
  18. 如請求項17之電腦實施方法,其中該請求包括對該可信賴執行環境之一調用功能以請求該機密資料,該調用功能包括該機密資料之該識別符,該識別符用於將與該識別符相關聯之該機密資料返回至該安全客戶。
  19. 如請求項16之電腦實施方法,其進一步包含由該安全客戶使用該機密資訊來建立與該計算環境外部之一實體之一安全通信。
  20. 如請求項16之電腦實施方法,其中該元資料受完整性保護,具有用於該安全客戶之一影像的一或多個完整性度量,且包括由該可信賴執行環境專門解密之該元資料之一加密部分中之該機密資料。
TW111117577A 2021-08-05 2022-05-11 關於透過元資料提供至安全客戶之機密資料之電腦程式產品、電腦系統及電腦實施方法 TWI827045B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/394,963 2021-08-05
US17/394,963 US11829495B2 (en) 2021-08-05 2021-08-05 Confidential data provided to a secure guest via metadata

Publications (2)

Publication Number Publication Date
TW202307705A true TW202307705A (zh) 2023-02-16
TWI827045B TWI827045B (zh) 2023-12-21

Family

ID=83115403

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111117577A TWI827045B (zh) 2021-08-05 2022-05-11 關於透過元資料提供至安全客戶之機密資料之電腦程式產品、電腦系統及電腦實施方法

Country Status (6)

Country Link
US (1) US11829495B2 (zh)
EP (1) EP4381400A1 (zh)
CN (1) CN117795510A (zh)
BR (1) BR112023022877A2 (zh)
TW (1) TWI827045B (zh)
WO (1) WO2023012197A1 (zh)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US8090919B2 (en) 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
US8151262B2 (en) 2007-03-30 2012-04-03 Lenovo (Singapore) Pte. Ltd. System and method for reporting the trusted state of a virtual machine
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
US9158909B2 (en) 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US10516990B2 (en) 2014-09-17 2019-12-24 Simless, Inc. Apparatuses, methods and systems for implementing a trusted subscription management platform
CA3005476C (en) * 2015-11-20 2024-03-05 Genetec Inc. Secure layered encryption of data streams
US10210323B2 (en) 2016-05-06 2019-02-19 The Boeing Company Information assurance system for secure program execution
US10303899B2 (en) 2016-08-11 2019-05-28 Intel Corporation Secure public cloud with protected guest-verified host control
US10671737B2 (en) 2017-11-10 2020-06-02 Intel Corporation Cryptographic memory ownership table for secure public cloud
US11443040B2 (en) 2019-03-08 2022-09-13 International Business Machines Corporation Secure execution guest owner environmental controls
US11500988B2 (en) 2019-03-08 2022-11-15 International Business Machines Corporation Binding secure keys of secure guests to a hardware security module
WO2019120317A2 (en) 2019-03-26 2019-06-27 Alibaba Group Holding Limited Program execution and data proof scheme using multiple key pair signatures
AU2020249291A1 (en) 2019-03-27 2021-11-18 Xard Group Pty Ltd Disabling a digital payment device (DPD)
JP6779389B2 (ja) * 2019-04-03 2020-11-04 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 信頼できる実行環境下でのブロックチェーンデータの処理および保存
CA3061268C (en) 2019-04-26 2020-09-22 Alibaba Group Holding Limited Distributed key management for trusted execution environments
JP7404749B2 (ja) * 2019-10-07 2023-12-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US20230040577A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Secure guest image and metadata update
US20230039894A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Deferred reclaiming of secure guest resources
US11809607B2 (en) * 2021-08-05 2023-11-07 International Business Machines Corporation Customization of multi-part metadata of a secure guest
US20230044731A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Attestation of a secure guest

Also Published As

Publication number Publication date
BR112023022877A2 (pt) 2024-02-27
US20230043503A1 (en) 2023-02-09
TWI827045B (zh) 2023-12-21
EP4381400A1 (en) 2024-06-12
CN117795510A (zh) 2024-03-29
WO2023012197A1 (en) 2023-02-09
US11829495B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
KR102551935B1 (ko) 보안 운영 체제 이미지의 점진적 복호화 및 무결성 검증
AU2020426828B2 (en) Reserving one or more security modules for secure guest
CN114930328A (zh) 将安全模块的安全对象绑定到安全访客
US10366227B2 (en) Secure debugging in a trustable computing environment
TWI822038B (zh) 用於安全客戶之多部分元資料之客製化之電腦程式產品、電腦系統及電腦實施方法
TWI808749B (zh) 用於安全客體映像及後設資料更新之電腦程式產品、電腦系統及電腦實施方法
TWI806622B (zh) 儲存安全虛擬機器之診斷狀態
TW202307712A (zh) 一安全客體之認證
TWI827045B (zh) 關於透過元資料提供至安全客戶之機密資料之電腦程式產品、電腦系統及電腦實施方法
US11201730B2 (en) Generating a protected key for selective use
TWI829173B (zh) 虛擬機器執行期間無法存取之前綴頁面
TWI840804B (zh) 相關於安全客體資源之延後取回之電腦程式產品、電腦系統及電腦實施方法
US11645092B1 (en) Building and deploying an application
TW202307707A (zh) 安全客體資源之延後取回