TW202307712A - 一安全客體之認證 - Google Patents
一安全客體之認證 Download PDFInfo
- Publication number
- TW202307712A TW202307712A TW111119372A TW111119372A TW202307712A TW 202307712 A TW202307712 A TW 202307712A TW 111119372 A TW111119372 A TW 111119372A TW 111119372 A TW111119372 A TW 111119372A TW 202307712 A TW202307712 A TW 202307712A
- Authority
- TW
- Taiwan
- Prior art keywords
- authentication request
- security object
- authentication
- integrity
- security
- Prior art date
Links
- 238000005259 measurement Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 46
- 230000004224 protection Effects 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 15
- 239000000463 material Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating 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
- 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
- 230000008859 change 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
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 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
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (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安全執行)至可信賴執行環境。為處理機密資訊,可信賴執行環境使用匹配之私用主機密鑰。私用主機密鑰特定於伺服器,例如,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。元資料為受完整性保護且至少部分機密地受保護,且僅由可信賴執行環境解譯。基於安全客體元資料中之資訊,可信賴執行環境可接著加強載入至記憶體中之安全客體影像之完整性,保護含有載入影像之安全客體之記憶體免於由超管理器可存取,且在開始安全客體之前潛在地解密安全客體影像。
在載入或開始安全客體之後,可需要驗證安全客體為例如已開始使用特殊安全客體影像及元資料之特殊安全客體。因此,根據本發明之一或多個態樣,關於是否為特殊安全客體進行詢問250。作為一實例,此詢問係藉由諸如安全客體之使用者或擁有者之請求實體進行。為提供對此詢問之答案,資訊經收集且一或多個量測(例如,雜湊、訊息鑑認程式碼、加密簽章等)經運算且用於判定(例如,藉由安全客體外部之請求實體)安全客體是否為特殊安全客體。在一個實例中,為運算一或多個量測,使用認證請求結構。認證請求結構係由例如,安全客體之使用者或擁有者在安全客體之外部製備。
參考圖3描述與認證請求結構相關之描述的一個實例。如圖3中所展示,在一個實例中,與認證請求結構相關之描述300 (在本文中亦稱為認證請求結構描述300)包括複數個項302,且每一項302具有項(內容) 314之名稱310、縮寫(abbr) 312及短描述,以及內容(例如,內容314)是否由可例如僅由目標系統獲得之例如請求保護密鑰進行完整性保護或進行完整性及機密性兩者保護(例如,加密)之保護指示(保護) 316。在一個實例中,內容314包括請求結構之資料/屬性,且名稱310、縮寫312及保護指示316提供與內容314相關之資訊。
作為實例,認證請求結構之一個項318包括消費者公用密鑰(由請求實體提供),且一或多個其他項320包括各自包括由目標主機/可信賴執行環境之主機密鑰保護之請求保護密鑰的密鑰1至N。消費者公用密鑰及密鑰槽用於將一組可能的目標系統之請求保護密鑰安全地傳達至可信賴執行環境(使用例如(橢圓曲線)迪菲-赫爾曼(Diffie-Hellman)技術),其中每一密鑰槽定址一個目標系統。作為另一實例,認證請求結構描述之另一項322包括認證密鑰,縮寫AK (參見縮寫312),其為例如經加密之基於512位雜湊之訊息鑑認程式碼(HMAC)密鑰(參見內容314),如藉由保護指示316所指示。認證請求結構之額外項324包括含有可用以驗證請求結構之完整性之資料的請求結構標籤。額外、較少及/或其他資訊可包括於認證請求結構描述300中。認證請求結構描述300可包括額外、較少及/或其他項,及/或每一項可具有額外、較少及/或其他資訊。此外,認證請求結構(例如,內容314)可包括額外、較少及/或其他資料/屬性。存在許多可能性。
根據本發明之一或多個態樣,使用認證請求結構以驗證或認證安全客體為特殊安全客體。參考圖4A至圖4B描述此處理之一個實例。
首先參考圖4A,在一個實例中,由安全客體410獲得(例如,發送、提供、接收、拉動等)在安全客體外部製備且包括例如認證密鑰402之認證請求結構400 (例如,具有類似於內容314之內容)。安全客體410根據例如安全客體狀態來運算本端資料412 (例如,連接資訊及/或其他資訊)。舉例而言,本端資料特定於安全客體且包括例如待由請求實體(例如,請求驗證)用以在例如將認證結構提交至安全客體時連接至安全客體之會話資訊。
此外,安全客體410執行對可信賴執行環境420之召用414。召用包括例如認證請求結構及本端資料。可信賴執行環境獲得(例如,接收、提供、拉動等)具有引數的召用,包括認證請求結構。使用系統特定私用密鑰(亦稱為主機密鑰)424,可信賴執行環境檢查認證請求結構之完整性。舉例而言,自本文中所描述之密鑰槽中之一者提取請求保護密鑰,且該密鑰用於執行請求之完整性檢查。基於成功驗證,可信賴執行環境持續執行認證請求,包括首先提取包括於請求結構中之認證密鑰402。
作為實例,可信賴執行環境判定可信賴執行環境422之運行時間資料,諸如安全客體執行個體之識別符(例如,發出認證請求之安全客體之運行中執行個體的唯一識別)及韌體版本。可信賴執行環境420進一步獲得安全客體影像432及安全客體元資料434之一或多個量測(例如,雜湊、訊息鑑認程式碼、加密簽章等) 430。
基於接收到召用,參考圖4B,可信賴執行環境420使用認證密鑰402針對可信賴執行環境之一或多個量測430、本端資料412及運行時間資料422判定認證資料,例如驗證標籤,諸如訊息鑑認程式碼標籤。將此認證資料連同可信賴執行環境之運行時間資料422傳回至安全客體410。安全客體接著將認證資料(例如,認證資料450)、可信賴執行環境之運行時間資料422及本端資料412傳回至安全客體外部的請求實體(例如,安全客體之使用者或擁有者、其他實體)。認證資料450為例如藉由認證密鑰保護之完整性,且將由例如安全客體外部之請求實體進行評估。
參考圖5描述待用以驗證安全客體為具有特定安全客體元資料之特殊安全客體之認證過程的一個實施例之其他細節。
在一個實施例中,諸如安全客體擁有者、使用者或其他實體之請求實體(在本文中亦稱為請求者)瞭解安全客體影像及安全客體元資料之一或多個量測(例如,雜湊、訊息鑑認程式碼、加密簽章等)500。請求實體產生例如認證密鑰且將認證密鑰包括在認證請求結構中502。認證請求結構可由請求實體、另一實體產生或預先存在。如本文所描述的,該認證請求結構包括認證密鑰且視情況包括其他資訊。請求實體將認證請求發送至與請求實體具有所定義關係(例如,由請求實體擁有)之安全客體504。
安全客體接收包括例如認證請求結構之認證請求且判定安全客體之本端資料506。舉例而言,本端資料包括例如由請求實體(例如,請求驗證)用以在例如將認證結構提交至安全客體時連接至安全客體之會話之會話資訊。此外,安全客體利用認證請求結構及本端安全客體特定資料作為召用之引數來召用可信賴執行環境函數508。
可信賴執行環境接收包括認證請求結構及本端資料之召用且檢查認證請求結構之完整性510。舉例而言,可信賴執行環境判定認證請求結構之量測(例如雜湊、訊息鑑認程式碼、加密簽章等)且將其與對應已知值進行比較。若其具有與已知值之預定義關係(例如相等),則認證請求結構之完整性得以驗證。用以保護量測(例如訊息鑑認程式碼、簽章)之請求保護密鑰可包括於由可用於可信賴執行環境之系統特定私用密鑰(亦稱為主機密鑰)保護的認證請求結構中。
基於成功地驗證認證請求結構之完整性,可信賴執行環境解密認證請求結構之加密部分(例如使用請求保護密鑰)以自加密部分提取認證密鑰。可信賴執行環境使用認證密鑰來運算至少一個完整性量測,諸如驗證標籤(亦稱為標籤;例如訊息鑑認程式碼標籤),該至少一個完整性量測表示安全客體影像、一或多個安全客體元資料量測、安全客體之本端資料及安全客體之可信賴執行環境運行時間資料的組合512。完整性量測之運算可使用現在已知或稍後開發之一或多種技術。可信賴執行環境將經運算完整性量測(例如驗證標籤)及安全客體之可信賴執行環境運行時間資料(例如發出認證請求之安全客體之運行中執行個體的唯一識別)傳回至安全客體516。
安全客體將經運算完整性量測(例如驗證標籤,諸如訊息鑑認程式碼標籤)、安全客體之可信賴執行環境運行時間資料及安全客體之本端資料(例如會話資訊)傳回至請求實體520。
請求實體接收傳回資料522,該資料可用於判定安全客體是否為特殊安全客體。舉例而言,安全客體擁有者將所獲得驗證標籤(例如,在512中運算且在516、520中傳回)與已知值(例如預先存在或經運算的)進行比較,且若其具有預定義關係(例如相等),則驗證安全客體為具有特殊安全客體元資料之特殊安全客體。
如本文中所描述,提供可例如僅自安全客體召用之認證可信賴執行環境召用。召用採取例如認證請求結構(或至少認證密鑰)且選擇本端資料(例如會話資訊)作為引數,且傳回例如可信賴執行環境特定運行時間資料(例如發出認證請求之安全客體之運行中執行個體的唯一識別)及一或多個安全客體量測之驗證標籤(例如訊息鑑認程式碼或其他量測)、本端資料及使用諸如例如訊息鑑認程式碼密鑰之認證密鑰運算之特定可信賴執行環境運行時間資料。
有效安全客體利用請求實體製備之已接收認證請求結構且利用本端資料(例如特定於例如用以接收請求之會話之資料,例如由使用者打開之安全殼(SSH)或傳送層安全(TLS)會話之用戶端憑證)來召用函數。可信賴執行環境接收召用,判定結果(例如驗證標籤)且將結果傳回至安全客體。安全客體將傳遞認證函數之結果至請求實體,該請求實體可接著將結果驗證為識別安全客體及用以登入安全客體之會話兩者。
在一或多個態樣中,認證請求結構經限定,其中請求結構受例如請求保護密鑰保護。請求保護密鑰係使用可信賴執行環境之私用密鑰(亦稱為主機密鑰)安全地傳達至可信賴執行環境的。視情況,若選擇技術(例如,則橢圓-曲線迪菲-赫爾曼)用於傳達請求保護密鑰,則請求結構含有消費者之公用密鑰。請求之部分使用請求保護密鑰機密地保護(加密);彼部分含有例如認證密鑰(例如,訊息鑑認程式碼密鑰)及視情況之臨時用法。在一個實例中,請求結構包括哪一(哪些)量測應經認證之指示。
在另一態樣中,將認證函數添加至可自安全客體召用之可信賴執行環境中。舉例而言,認證函數將認證請求結構用作引數。視情況,認證函數為本端安全客體-特定資料提供第二引數。舉例而言,該函數將安全客體影像之一或多個量測、安全客體影像之元資料、由請求限定之任何額外資料及視情況來自第二引數之本端資料傳回至函數,所有此等資料均使用認證密鑰經由例如訊息鑑認程式碼鏈接在一起。
在另一態樣中,為防禦中間人系統,在有效安全客體中提供服務以提供遠端認證函數。該服務將例如會話內接收之請求結構用作引數。服務導出特定於連接/會話之資料以發出請求(會話特定資料可自打開連接/會話之用戶端之憑證、會話號等導出)。服務召用其中請求結構作為一個引數且憑證作為另一引數之認證可信賴執行環境召用。
在一個態樣中,視情況,可在請求結構中選擇之待包括於量測中之資料包括例如屬於私用密鑰之公用密鑰、用以在開始安全客體時解開安全客體元資料之可信賴執行環境、韌體釋放及/或安全客體ID作為實例。
使用函數之有效安全客體可接收由請求實體或其他實體製備之請求結構,且可使用特定於用以接收請求之會話之資料作為本端資料,例如藉由使用者打開之安全殼或傳送層安全會話之用戶端憑證。有效安全客體將傳遞認證函數之結果至請求實體,該請求實體可接著驗證結果為識別安全客體及用以登入安全客體之會話兩者。
本發明之一或多個態樣不可避免地與電腦技術相關且促進電腦內之處理,從而改良其效能。藉由能夠驗證安全客體且為運算環境提供保護來促進處理。
參看圖6A至圖6C描述促進運算環境內之處理之一個實施例的其他細節,此係因為該運算環境與本發明之一或多個態樣相關。
參考圖6A,在一個實施例中,可信賴執行環境獲得認證請求600。認證請求包括至少一認證密鑰602。基於獲得認證請求,運算一或多個完整性量測,且運算使用至少該認證密鑰604。將一或多個完整性量測提供至實體606,且一或多個完整性量測待用以驗證安全客體已開始使用選定安全客體影像及選定安全客體元資料608。此使得一請求實體能夠確保該安全客體係一正確安全客體,藉此在一運算環境中提供進一步安全性。
在一個實例中,認證請求包括受完整性保護之認證請求結構610,且認證密鑰維持於認證請求結構之加密部分中612。此提供對該認證請求結構、該認證密鑰及用於與其相關聯之處理的保護。
作為一實例,認證請求結構可藉由可信賴執行環境專門地解譯614。驗證認證請求結構之完整性保護615,且基於認證請求結構之成功驗證,可信賴執行環境解密認證請求結構之加密部分以獲得待用於運算一或多個完整性量測的認證密鑰616。藉由驗證完整性保護,維持安全性。若驗證不成功,則認證請求之處理失敗。
在一個實例中,提供一或多個完整性量測進一步包括提供待用以驗證安全客體之可信賴執行環境之選擇資訊618。選擇資訊包括例如安全客體之運行時間資料620。
此外,在一個實例中,且參考圖6B,一或多個完整性量測包括基於至少一安全客體影像及一或多個安全客體元資料運算之經運算驗證程式碼630。作為一實例,基於安全客體之運行時間資料進一步運算該經運算驗證程式碼632。安全客體之運行時間資料包括例如發出認證請求之安全客體的運行中執行個體之一唯一識別634。藉由包括用以識別經傳回之完整性量測中之運行安全客體執行個體的資料,彼資料亦傳回至請求實體。請求實體可接著使用彼資料來判定對於同一安全客體執行個體,可信賴執行環境是否處理多個(例如,兩個)請求。
在一個實例中,基於該安全客體之特定資料進一步運算該經運算驗證程式碼636。
作為一個實例,經由對可信賴執行環境之一不可攔截召用自安全客體獲得認證請求638。此外,在一個實例中,認證請求包括安全客體之特定資料640。安全客體之特定資料將與認證密鑰一起使用以判定一或多個完整性量測642。
此外,在一個實例中,實體為安全客體,且提供進一步包括向安全客體提供安全客體之運行時間資料644。在一個實例中,安全客體之運行時間資料、一或多個完整性量測及安全客體之特定資料將進一步提供至待用於驗證安全客體的一請求實體646。
作為一實例,參考圖6C,安全客體之特定資料包括由請求實體用以連接至安全客體以向安全客體提交待用於等認證請求之認證請求結構的會話之會話資訊650。
在一個實例中,認證請求係藉由可信賴執行環境經由不可攔截召用自安全客體獲得652。不可攔截召用包括例如包括認證密鑰及安全客體之特定資料之認證請求結構654。
其他變化及實施例為可能的。
本發明之態樣可由許多類型之運算環境使用。參考圖7A描述併有及使用本發明之一或多個態樣之運算環境的另一實施例。在此實例中,運算環境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指令集架構開發之軟體及指令。
參考圖7B描述與仿真器程式碼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):提供給消費者之能力係佈建處理、儲存、網路及其他基礎運算資源,其中消費者能夠部署及運行可包括作業系統及應用程式之任意軟體。消費者並不管理或控制基礎雲端基礎結構,但控制作業系統、儲存器、所部署應用程式,及可能有限地控制選擇網路連接組件(例如,主機防火牆)。
部署模型如下:
私用雲端:僅針對組織操作雲端基礎結構。私用雲端可由組織或第三方來管理且可存在於內部部署(on-premise)或外部部署(off-premise)。
社群雲端:該雲端基礎結構由若干組織共用且支援具有共用關注事項(例如,任務、安全性要求、策略及順應性考量)之特定社群。社群雲端可由組織或第三方來管理且可存在於內部部署或外部部署。
公用雲端:使雲端基礎結構可用於公眾或大型工業集團且為出售雲端服務之組織所擁有。
混合雲端:雲端基礎結構為兩個或更多個雲端(私用、社群或公用)之組合物,該等雲端保持唯一實體但藉由實現資料及應用程式攜帶性(例如,用於在雲端之間實現負載平衡的雲端爆裂)之標準化或專屬技術繫結在一起。
藉由集中於無國界、低耦接、模組化及語義互操作性對雲端運算環境進行服務定向。雲端運算之關鍵係包括互連節點之網路的基礎結構。
現參考圖8,描繪說明性雲端運算環境50。如所展示,雲端運算環境50包括一或多個雲端運算節點52,雲端客戶所使用之諸如個人數位助理(PDA)或蜂巢式電話54A、桌上型電腦54B、膝上型電腦54C及/或汽車電腦系統54N的本端運算裝置可與該一或多個雲端運算節點進行通訊。節點52可彼此通訊。可在諸如如上文所描述之私用、社群、公用或混合雲端或其組合之一或多個網路中將該等節點實體地或虛擬地分組(未展示)。此情形允許雲端運算環境50供應基礎結構、平台及/或軟體作為服務,針對該等服務,雲端客戶不需要在本端運算裝置上維護資源。應理解,圖8中所展示之運算裝置54A至54N之類型意欲僅為說明性的,且運算節點52及雲端運算環境50可經由任何類型之網路及/或網路可定址連接(例如,使用網頁瀏覽器)與任何類型之電腦化裝置通訊。
現參考圖9,展示由雲端運算環境50 (圖8)所提供之功能抽象層之集合。事先應理解,圖9中所展示之組件、層及功能意欲僅為說明性的且本發明之實施例不限於此。如所描繪,提供以下層及對應功能:
硬體及軟體層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:安全客體
210:安全客體影像
220:安全客體元資料
250:詢問
300:描述
302:項
310:名稱
312:縮寫
314:內容
316:保護
318:項
320:項
322:項
324:項
400:認證請求結構
402:認證密鑰
410:安全客體
412:本端資料
414:召用
420:可信賴執行環境
422:可信賴執行環境
424:系統特定私用密鑰
430:量測
432:安全客體影像
434:安全客體元資料
450:認證資料
500:步驟
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
516:步驟
520:步驟
522:步驟
600:步驟
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
612:步驟
614:步驟
615:步驟
616:步驟
618:步驟
620:步驟
630:步驟
632:步驟
634:步驟
636:步驟
638:步驟
640:步驟
642:步驟
644:步驟
646:步驟
650:步驟
652:步驟
654:步驟
在本說明書之結尾處之申請專利範圍中作為實例特別地指出且清楚地主張一或多個態樣。一或多個態樣之前述內容及目標、特徵及優勢自結合隨附圖式進行之以下詳細描述顯而易見,在隨附圖式中:
圖1描繪併有及使用本發明之一或多個態樣之運算環境的一個實例;
圖2描繪根據本發明之一或多個態樣之認證詢問的一個實例;
圖3描繪與根據本發明之一或多個態樣使用之認證請求結構相關的描述之一個實例;
圖4A至圖4B描繪根據本發明之一或多個態樣之處理認證請求的一個實例;
圖5描繪根據本發明之一或多個態樣之認證程序的一個實例;
圖6A至圖6C描繪根據本發明之一或多個態樣之促進運算環境內的處理之一個實例;
圖7A描繪併有且使用本發明之一或多個態樣之運算環境的另一實例;
圖7B描繪根據本發明之一或多個態樣之圖7A的記憶體之其他細節;
圖8描繪根據本發明之一或多個態樣之雲端運算環境的一個實施例;且
圖9描繪根據本發明之一或多個態樣之抽象模型層的一個實例。
600:步驟
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
612:步驟
614:步驟
615:步驟
616:步驟
618:步驟
620:步驟
Claims (20)
- 一種用於促進一運算環境內之處理的電腦程式產品,該電腦程式產品包含: 一或多個電腦可讀儲存媒體及共同地儲存於該一或多個電腦可讀儲存媒體上以執行一方法之程式指令,該方法包含: 藉由一可信賴執行環境獲得一認證請求,該認證請求包括至少一認證密鑰; 基於獲得該認證請求來運算一或多個完整性量測,該運算使用至少該認證密鑰;及 將該一或多個完整性量測提供至一實體,該一或多個完整性量測待用以驗證一安全客體已開始使用一選定安全客體影像及選定安全客體元資料。
- 如請求項1之電腦程式產品,其中該認證請求包括受完整性保護之一認證請求結構,且其中該認證密鑰維持於該認證請求結構之一加密部分中。
- 如請求項2之電腦程式產品,其中該認證請求結構可藉由該可信賴執行環境專門解譯,且其中該方法進一步包含: 驗證該認證請求結構之完整性保護;及 基於成功地驗證該認證請求結構之該完整性保護,藉由該可信賴執行環境來解密該認證請求結構之該加密部分以獲得待用於運算該一或多個完整性量測之該認證密鑰。
- 如請求項1之電腦程式產品,其中該提供該一或多個完整性量測進一步包含提供待用以驗證該安全客體之該可信賴執行環境之選擇資訊,該選擇資訊包括該安全客體之運行時間資料。
- 如請求項1之電腦程式產品,其中該一或多個完整性量測包括基於該安全客體之至少一影像及一或多個安全客體元資料運算之一經運算驗證程式碼。
- 如請求項5之電腦程式產品,其中進一步基於該安全客體之運行時間資料來運算該經運算驗證程式碼。
- 如請求項6之電腦程式產品,其中該安全客體之該運行時間資料包含發出該認證請求之該安全客體的一運行中執行個體之一唯一識別。
- 如請求項6之電腦程式產品,其中進一步基於該安全客體之特定資料來運算該經運算驗證程式碼。
- 如請求項1之電腦程式產品,其中該認證請求係經由對該可信賴執行環境之一不可攔截召用自該安全客體獲得,且其中該認證請求進一步包括該安全客體之特定資料,該安全客體之該特定資料將與該認證密鑰一起使用以運算該一或多個完整性量測,且其中該實體為該安全客體且該提供進一步包括向該安全客體提供該安全客體運行時間資料,其中該安全客體之該運行時間資料、該一或多個完整性量測及該安全客體之該特定資料將進一步提供至待用於驗證該安全客體的一請求實體。
- 如請求項9之電腦程式產品,其中該安全客體之該特定資料包括由該請求實體用以連接至該安全客體以向該安全客體提交待用於該認證請求之一認證請求結構的一會話之會話資訊。
- 如請求項1之電腦程式產品,其中該認證請求係藉由該可信賴執行環境經由一不可攔截召用自該安全客體獲得,該不可攔截召用包括含有該認證密鑰及該安全客體之特定資料之一認證請求結構。
- 一種用於促進一運算環境內之處理的電腦系統,該電腦系統包含: 一記憶體;及 至少一個處理器,其與該記憶體通訊,其中該電腦系統經組態以執行一方法,該方法包含: 藉由一可信賴執行環境獲得一認證請求,該認證請求包括至少一認證密鑰; 基於獲得該認證請求來運算一或多個完整性量測,該運算使用至少該認證密鑰;及 將該一或多個完整性量測提供至一實體,該一或多個完整性量測待用以驗證一安全客體已開始使用一選定安全客體影像及選定安全客體元資料。
- 如請求項12之電腦系統,其中該認證請求包括受完整性保護之一認證請求結構,且其中該認證密鑰維持於該認證請求結構之一加密部分中。
- 如請求項12之電腦系統,其中該提供該一或多個完整性量測進一步包含提供待用以驗證該安全客體之該可信賴執行環境之選擇資訊,該選擇資訊包括該安全客體之運行時間資料。
- 如請求項14之電腦系統,其中該安全客體之該運行時間資料包含發出該認證請求之該安全客體的一運行中執行個體之一唯一識別。
- 如請求項12之電腦系統,其中該認證請求係經由對該可信賴執行環境之一不可攔截召用自該安全客體獲得,且其中該認證請求進一步包括該安全客體之特定資料,該安全客體之該特定資料將與該認證密鑰一起使用以運算該一或多個完整性量測,且其中該實體為該安全客體且該提供進一步包括向該安全客體提供該安全客體的運行時間資料,其中該安全客體之該運行時間資料、該一或多個完整性量測及該安全客體之該特定資料將進一步提供至待用於驗證該安全客體的一請求實體。
- 一種促進一運算環境內之處理的電腦實施方法,該電腦實施方法包含: 藉由一可信賴執行環境獲得一認證請求,該認證請求包括至少一認證密鑰; 基於獲得該認證請求來運算一或多個完整性量測,該運算使用至少該認證密鑰;及 將該一或多個完整性量測提供至一實體,該一或多個完整性量測待用以驗證一安全客體已開始使用一選定安全客體影像及選定安全客體元資料。
- 如請求項17之電腦實施方法,其中該認證請求包括受完整性保護之一認證請求結構,且其中該認證密鑰維持於該認證請求結構之一加密部分中。
- 如請求項17之電腦實施方法,其中該提供該一或多個完整性量測進一步包含提供待用以驗證該安全客體之該可信賴執行環境的選擇資訊,該選擇資訊包括該安全客體之運行時間資料。
- 如請求項17之電腦實施方法,其中該認證請求係經由對該可信賴執行環境之一不可攔截召用自該安全客體獲得,且其中該認證請求進一步包括該安全客體之特定資料,該安全客體之該特定資料將與該認證密鑰一起使用以運算該一或多個完整性量測,且其中該實體為該安全客體且該提供進一步包括向該安全客體提供該安全客體運行時間資料,其中該安全客體之該運行時間資料、該一或多個完整性量測及該安全客體之該特定資料將進一步提供至待用於驗證該安全客體的一請求實體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/395,053 US20230044731A1 (en) | 2021-08-05 | 2021-08-05 | Attestation of a secure guest |
US17/395,053 | 2021-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202307712A true TW202307712A (zh) | 2023-02-16 |
Family
ID=83115432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111119372A TW202307712A (zh) | 2021-08-05 | 2022-05-25 | 一安全客體之認證 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20230044731A1 (zh) |
EP (1) | EP4381404A1 (zh) |
JP (1) | JP2024528930A (zh) |
KR (1) | KR20240021937A (zh) |
CN (1) | CN117795514A (zh) |
CA (1) | CA3217422A1 (zh) |
TW (1) | TW202307712A (zh) |
WO (1) | WO2023012201A1 (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 (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788763B2 (en) * | 2011-10-13 | 2014-07-22 | International Business Machines Corporation | Protecting memory of a virtual guest |
KR101769353B1 (ko) * | 2012-03-22 | 2017-08-18 | 한국전자통신연구원 | 증강 방송 스트림 송출 장치 및 방법, 및 증강 방송 서비스 제공 장치 및 방법 |
US11989332B2 (en) * | 2016-08-11 | 2024-05-21 | Intel Corporation | Secure public cloud with protected guest-verified host control |
US10379894B1 (en) * | 2016-09-27 | 2019-08-13 | Amazon Technologies, Inc. | Lineage-based trust for virtual machine images |
US10338957B2 (en) * | 2016-12-27 | 2019-07-02 | Intel Corporation | Provisioning keys for virtual machine secure enclaves |
US10878101B2 (en) * | 2018-09-07 | 2020-12-29 | Raytheon Company | Trusted booting by hardware root of trust (HRoT) device |
US11159321B2 (en) * | 2018-12-19 | 2021-10-26 | Alclear, Llc | Digital notarization using a biometric identification service |
US11164179B2 (en) * | 2019-01-22 | 2021-11-02 | Apple, Inc. | Secure credential storage and retrieval |
US11256785B2 (en) * | 2019-07-09 | 2022-02-22 | Microsoft Technologly Licensing, LLC | Using secure memory enclaves from the context of process containers |
US20220114249A1 (en) * | 2020-10-09 | 2022-04-14 | Huawei Technologies Co., Ltd. | Systems and methods for secure and fast machine learning inference in a trusted execution environment |
US20220141026A1 (en) * | 2020-11-02 | 2022-05-05 | Intel Corporation | Graphics security with synergistic encryption, content-based and resource management technology |
US11893410B2 (en) * | 2021-01-13 | 2024-02-06 | Vmware, Inc. | Secure storage of workload attestation reports in a virtualized and clustered computer system |
US11709700B2 (en) * | 2021-01-13 | 2023-07-25 | Vmware, Inc. | Provisioning identity certificates using hardware-based secure attestation in a virtualized and clustered computer system |
-
2021
- 2021-08-05 US US17/395,053 patent/US20230044731A1/en active Pending
-
2022
- 2022-05-25 TW TW111119372A patent/TW202307712A/zh unknown
- 2022-08-03 WO PCT/EP2022/071774 patent/WO2023012201A1/en active Application Filing
- 2022-08-03 EP EP22761128.2A patent/EP4381404A1/en active Pending
- 2022-08-03 CN CN202280054156.0A patent/CN117795514A/zh active Pending
- 2022-08-03 CA CA3217422A patent/CA3217422A1/en active Pending
- 2022-08-03 KR KR1020247001466A patent/KR20240021937A/ko unknown
- 2022-08-03 JP JP2024505577A patent/JP2024528930A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3217422A1 (en) | 2023-02-09 |
CN117795514A (zh) | 2024-03-29 |
US20230044731A1 (en) | 2023-02-09 |
EP4381404A1 (en) | 2024-06-12 |
KR20240021937A (ko) | 2024-02-19 |
WO2023012201A1 (en) | 2023-02-09 |
JP2024528930A (ja) | 2024-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12105805B2 (en) | Binding secure keys of secure guests to a hardware security module | |
JP7397557B2 (ja) | セキュア実行ゲスト所有者環境制御 | |
JP7546675B2 (ja) | セキュア・ゲストへのセキュリティ・モジュールのセキュア・オブジェクトのバインディング | |
JP7388802B2 (ja) | セキュアなオペレーティング・システム・イメージのインクリメンタル復号および完全性検証 | |
US11755721B2 (en) | Trusted workload execution | |
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
US10984108B2 (en) | Trusted computing attestation of system validation state | |
TWI808749B (zh) | 用於安全客體映像及後設資料更新之電腦程式產品、電腦系統及電腦實施方法 | |
TWI806622B (zh) | 儲存安全虛擬機器之診斷狀態 | |
TW202307712A (zh) | 一安全客體之認證 | |
TWI827045B (zh) | 關於透過元資料提供至安全客戶之機密資料之電腦程式產品、電腦系統及電腦實施方法 | |
TWI822038B (zh) | 用於安全客戶之多部分元資料之客製化之電腦程式產品、電腦系統及電腦實施方法 | |
US11645092B1 (en) | Building and deploying an application |