• / 23
  • 下載費用:30 金幣  

由可信提供商進行的配置和驗證.pdf

摘要
申請專利號:

CN201480024881.9

申請日:

2014.03.03

公開號:

CN105164633A

公開日:

2015.12.16

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 7/04申請日:20140303|||公開
IPC分類號: G06F7/04 主分類號: G06F7/04
申請人: 亞馬遜技術有限公司
發明人: 皮特·扎卡里·鮑文
地址: 美國內華達州
優先權: 13/784,276 2013.03.04 US
專利代理機構: 中科專利商標代理有限責任公司11021 代理人: 霍鵬
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201480024881.9

授權公告號:

||||||

法律狀態公告日:

2018.12.21|||2016.01.13|||2015.12.16

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

給計算資源加載代碼或數據,并且生成所述加載的代碼或數據的已審核記錄。另外,基于所述加載的代碼或數據的所述記錄來生成配置完整性。將配置完整性驗證工具發送至請求驗證所述代碼或數據的請求者,所述配置完整性驗證工具可用作對所述加載的代碼或數據的可信驗證。

權利要求書

權利要求書
1.  一種計算系統,其包括:
至少一個計算裝置;以及
與所述至少一個計算裝置通信的至少一個存儲器,所述至少一個存儲器在其上存儲有計算機可讀指令,所述指令在由所述計算系統執行時使所述計算系統至少進行以下操作:
接收針對實例的請求;
響應于接收到針對所述實例的所述請求,使所述請求的實例實例化,其中使所述請求的實例實例化包括加載操作系統軟件或數據;
審核所述實例來生成所述加載的操作系統軟件或數據的記錄;
基于所加載的操作系統軟件或數據的所述記錄和用于所述實例的配置來計算配置完整性驗證工具;以及
響應于對驗證所述操作系統軟件或數據的請求,提供所述配置完整性驗證工具、關于所述審核后的實例化實例的信息和所加載的操作系統軟件或數據的所述記錄,以作為對所述操作系統軟件或數據被用來使所述實例實例化的可信第三方驗證。

2.  根據權利要求1所述的系統,其中所述配置完整性驗證工具包括校驗和。

3.  根據權利要求1所述的系統,其中對驗證所述操作系統軟件或數據的所述請求是從所述配置的提供商或所述實例的用戶接收的。

4.  根據權利要求1所述的系統,其中所述配置完整性驗證工具的提供商是由驗證服務來認證。

5.  根據權利要求1所述的系統,其中所述配置完整性驗證工具是由公鑰基礎結構中的數字證書來認證。

6.  根據權利要求1所述的系統,其中對提供操作系統或數據的驗證的許可是由所述實例的請求者授權。

7.  一種用于驗證計算配置的方法,所述方法包括:
接收針對計算資源的請求,其中提供所述計算資源包括加載代碼或數據;
響應于接收到針對所述計算資源的所述請求,通過加載所述代碼或數據使所述請求的計算資源實例化;
審核所述加載的代碼或數據來生成所述加載的代碼或數據的記錄;
基于所述加載的代碼或數據的所述記錄來計算配置完整性驗證工具;以及
響應于對驗證所述加載的代碼或數據的請求而發送所述配置完整性驗證工具,所述配置完整性驗證工具可用作對所述加載的代碼或數據的可信驗證。

8.  根據權利要求7所述的方法,其中在包括多個計算裝置的計算環境中接收所述請求,所述計算裝置提供計算資源。

9.  根據權利要求7所述的方法,其中所述計算資源是虛擬機。

10.  根據權利要求7所述的方法,其中響應于來自所述代碼或數據的提供商的對驗證所述代碼或數據的請求,將所述配置完整性驗證工具發送至所述代碼或數據的所述提供商。

11.  根據權利要求7所述的方法,其中響應于所述計算資源的用戶對驗證所述代碼或數據的請求,將所述配置完整性驗證工具發送至所述代碼或數據的所述用戶。

12.  根據權利要求7所述的方法,其中在所述計算資源的用戶訪問所述計算資源之前,將所述配置完整性驗證工具發送至所述代碼或數據的提供商。

13.  根據權利要求7所述的方法,其中所述配置完整性驗證工具包括校驗和。

14.  根據權利要求7所述的方法,其中所述配置完整性驗證工具是由公鑰基礎結構中的數字證書來認證。

15.  根據權利要求7所述的方法,其中將所述配置完整性驗證工具發送至由所述代碼或數據的提供商授權的服務提供商。

說明書

說明書由可信提供商進行的配置和驗證
相關申請的交叉引用
本申請要求2013年3月4日提交的美國專利申請號13/784,276的權益,所述申請的公開內容全部以引用的方式并入本文。
背景技術
數據中心是容納計算機系統和各種網絡組件、存儲組件和其他相關組件的設施。數據中心例如可向商家和個人提供計算服務作為遠程計算服務或提供“軟件即服務”(例如,云計算)。由數據中心提供的計算資源可包括各種類型的資源,如數據處理資源、數據存儲資源、數據通信資源等。
為了便于增加數據中心資源的使用,虛擬化技術可允許單個物理計算機將作為為獨立計算機出現并操作的虛擬機的一個或多個實例托管到連接的計算機用戶上。利用虛擬化,單個物理計算裝置可以動態的方式創建、保持或刪除虛擬機。當數據中心的客戶請求新的虛擬機實例時,數據中心可提供虛擬機管理服務,這個服務識別用于執行新的實例的“槽”。客戶有時可以請求具有特定配置的虛擬機實例。在一些情況下,所述配置可包括由客戶或由第三方供應商提供的軟件和數據。
附圖說明
在所有附圖中,參考數字可被重復使用來指示所參考元件之間的對應關系。提供附圖來示出本文所述的示例性實施方案,并且并不意圖限制本公開的范圍。
圖1是示出根據本公開的用于提供配置驗證服務的機制的圖;
圖2是示出可以在一些實施方案中使用的示例性計算機系統的圖。
圖3是示出根據本公開的用于提供配置驗證服務的機制的圖;
圖4是示出根據本公開的審核記錄的圖;
圖5是示出根據本公開的用于提供配置驗證服務的機制的圖;
圖6是描述根據本公開的用于提供配置驗證服務的示例性程序的流程圖;并且
圖7是描述根據本公開的用于提供配置驗證服務的示例性程序的流程圖。
具體實施方式
本文中大體描述了用于使用和驗證可信平臺的硬件和軟件技術。描述了用于由計算資源服務提供商認證計算資源是處于已知或所需配置的系統和方法的實施方案。例如,可提供對虛擬機已被引導進入已知配置的確認。在各種實施方案中,計算資源服務提供商(如數據中心)可充當可信第三方,所述第三方與加載和配置過程交互以提供對配置的可信第三方認證。在一些實施方案中,第三方認證可由在數據中心中執行的過程提供。例如,可實施加載驗證服務或配置驗證服務,所述服務與引導過程交互并且可被帶外查詢。加載驗證服務或配置驗證服務可負責供應所請求的虛擬資源、建立引導加載程序和與虛擬資源交互。引導加載程序可與加載驗證服務或配置驗證服務通信來記錄或審核檢測到的配置。由引導加載程序提供的值通常被寫入一次并且僅通過重新引導系統被重置。加載驗證服務或配置驗證服務也可生成并提供已加載文件的加密校驗和。加載驗證服務或配置驗證服務可向被授權方提供校驗和值以及引導配置,從而允許被授權方在不依賴于其自己的驗證方法的情況下確定虛擬資源的引導配置的完整性。
圖1是示出系統100的圖,所述系統包括根據本公開的用于提供加載驗證服務或配置驗證服務的機制。在本公開中,加載驗證服務也可稱為第三方驗證服務或配置驗證服務。所述術語可互換使用。參考圖1,系統100可包括例如可在一個或多個服務器計算機130和140上執行的虛擬機實例110和120。應理解,一些實施方案可包括可在系統100中另外的服務器計算機上被實例化的另外的虛擬機實例。
圖1也示出可包括一個或多個計算裝置(如計算機160和170)的 公共網絡150。根據一個實施方案,虛擬機實例110可被配置來經由網關190以及計算機160和170向公共網絡150的計算機用戶(未展示)提供計算服務。例如,虛擬機實例110可向一群用戶提供一組遠程訪問企業應用程序,所述用戶例如可以是企業客戶的雇員。
客戶、用戶、管理員或系統100中的任何計算資源可請求具有特定軟件配置的資源實例。在一個實施方案中,可以提供與引導和加載過程交互的配置校驗服務180。所請求的虛擬資源可由系統100供應,并且配置驗證服務180可被配置來與虛擬資源交互。例如,實例管理程序(例如,監控程序或Dom0)可識別在引導期間加載到虛擬機上的文件,追蹤檢測到的配置,并且報告文件列表或向配置驗證服務180發送文件本身。類似地,用來啟動實例的引導加載程序可被配置來與配置驗證服務180通信,以便追蹤并報告檢測到的配置。在實施方案中,實例管理程序或配置驗證服務180可提供已加載文件的審核并且生成校驗和。配置驗證服務180可向被授權方提供審核結果和校驗和值,從而允許被授權方驗證虛擬資源的引導配置的完整性。通過提供配置驗證,系統100可有效地提供對特定配置的可信確認。可由數據中心的客戶、由數據中心的管理員、特定軟件產品的提供商或出售商或在數據中心內的任何計算資源(如服務器130)直接請求所述可信確認。服務器130也可代表其本身或代表其他服務器來發送請求。
關于某些實施例和實施方案描述了本公開的各方面,所述實施例和實施方案意圖說明本公開而不是限制本公開。
數據中心可向一組分散的客戶端提供可經由因特網訪問的一個或多個服務,如各種類型的基于云的計算或存儲。數據中心可托管各種資源池,如物理和虛擬化計算機服務器、存儲裝置、網絡設備等的集合,所述資源池是實施并分布由數據中心提供的服務所需要的。數據中心也可提供其數據服務的專用且獨立的部分,其中客戶可在由用戶定義的虛擬網絡中啟動計算資源。在一些實施方案中,網絡接口虛擬化服務的功能的不同部分可并入到若干種不同的協作軟件組件和/或裝置內,如在提供商網絡的各種硬件平臺上運行的監控程序或操作系統軟件的模塊、在邊緣裝置上的路由器軟件等。
在一個實施方案中,數據中心可給客戶提供虛擬化計算機資源和/或存儲資源的一個或多個實例,所述實例中的每一個需要網絡可尋址性來允許客戶與資源交互。
圖2示出可在其中實施本文所述的實施方案的示例性計算環境。圖2是示意性地示出數據中心210的實施例的圖,所述數據中心可經由通信網絡230、經由用戶計算機202a和202b(其在本文中以單數形式可被稱為“一個計算機202”或以復數形式可被稱為“這些計算機202”)向用戶200a和200b(其在本文中以單數形式可被稱為“一個用戶200”或以復數形式可被稱為“這些用戶200”)提供計算資源。數據中心210可被配置來提供用于永久性地或根據需要執行應用程序的計算資源。由數據中心210提供的計算資源可包括各種類型的資源,如數據處理資源、數據存儲資源、數據通信資源等。每種類型的計算資源可以是通用的或在許多特定配置中可用。例如,數據處理資源可作為虛擬機實例使用。所述實例可被配置來執行應用程序,包括網絡服務器、應用程序服務器、媒體服務器、數據庫服務器等。數據存儲資源可包括文件存儲裝置、塊存儲裝置等。
每種類型或配置的計算資源可在不同的大小中使用,如由許多處理器、大量存儲器和/或大的存儲容量組成的大資源和由較少的處理器、較少量存儲器和/或較小的存儲容量組成的小資源。例如,客戶可選擇將許多小的處理資源分配為網絡服務器和/或將一個大的處理資源分配為數據庫服務器。
數據中心210可包括服務器216a和216b(其在本文以單數形式可被稱為“一個服務器216”或以復數形式可被稱為“這些服務器216”),所述服務器提供可作為虛擬機實例218a和218b(其在本文以單數形式可被稱為“一個虛擬機實例218”或以復數形式可被稱為“這些虛擬機實例218”)使用的計算資源。虛擬機實例218可被配置來執行應用程序,包括網絡服務器、應用程序服務器、媒體服務器、數據庫服務器等。可以提供的其他資源包括數據存儲資源(未展示),并且可包括文件存儲裝置、塊存儲裝置等。
虛擬化技對于計算硬件的可用性對為客戶提供大規模的計算資源 并且允許在多個客戶之間有效且安全地共享計算資源提供了益處。例如,虛擬化技術(如由VMware或其他虛擬化系統提供的那些虛擬化技術)可允許通過給每個用戶提供由物理計算裝置托管的一個或多個虛擬機實例而在多個用戶之間共享物理計算裝置。虛擬機實例可以是充當獨特邏輯計算系統的特定物理計算系統的軟件仿真。這種虛擬機實例在共享給定的物理計算資源的多個操作系統之間提供隔離。此外,一些虛擬化技術可提供跨越一個或多個物理資源的虛擬資源,如具有跨越多個不同物理計算系統的多個虛擬處理器的單個虛擬機。
參考圖2,通信網絡230例如可以是鏈接網絡中的公共可訪問網絡并且可能由各個不同方操作,如因特網。在其他實施方案中,通信網絡230可以是專用網絡,例如像完全或部分地不能被非特許用戶訪問的公司或大學網絡。在再其他的實施方案中,通信網絡230可包括具有對因特網的訪問和/或從因特網進行的訪問的一個或多個專用網絡。
通信網絡230可提供對計算機202的訪問。用戶計算機202可以是由用戶200或數據中心210的其他用戶使用的計算機。例如,用戶計算機202a或202b可以是服務器、臺式或便攜式個人計算機、平板計算機、無線電話、個人數字助理(PDA)、電子書閱讀器、游戲控制臺、機頂盒或能夠訪問數據中心210的任何其他計算裝置。用戶計算機202a或202b可(例如,經由電纜調制解調器或數字用戶線路(DSL))直接連接至因特網。雖然僅描述了兩個用戶計算機202a和202b,但是應理解可存在多個用戶計算機。
用戶計算機202也可用來配置由數據中心210提供的計算資源的各方面。就這一點而言,數據中心210可提供網絡接口,通過所述網絡接口,可通過使用在用戶計算機202上執行的網絡瀏覽器應用程序來配置數據中心的操作的各方面。或者,在用戶計算機202上執行的獨立應用程序可訪問由數據中心210公開的應用程序編程接口(API)以便執行配置操作。也可使用用于配置數據中心210的操作(包括部署對應用程序的更新)的其他機制。
圖2所示的服務器216可以是被適當地配置用于提供上文所述的 計算資源的標準服務器,并且可提供用于執行一個或多個應用程序的計算資源。在一個實施方案中,計算資源可以是虛擬機實例218。在虛擬機實例的實施例中,服務器216中的每一個可被配置來執行能夠執行虛擬機實例218的實例管理程序220a或220b(其在本文中以單數形式可被稱為“一個實例管理程序220”或以復數形式可被稱為“這些實例管理程序220”)。例如,實例管理程序220可以是虛擬機監視程序(VMM)或被配置來允許在服務器216上執行虛擬機實例218的另一類型的程序。如上文所述,虛擬機實例218中的每一個可被配置來執行應用程序的全部或一部分。
應理解,盡管上文所公開的實施方案討論了虛擬機實例的情形,但是其他類型的實施方式可與本文所公開的概念和技術一起使用。例如,本文所公開的實施方案也可與并不使用虛擬機實例的計算系統一起使用。
在圖2所示的示例性數據中心210中,路由器214可用來互連服務器216a和216b。路由器214也可連接至網關220,網關220連接至通信網絡230。路由器214可在數據中心210中管理網絡內的通信,例如通過基于這些通信的特性(例如,包括源地址和/或目的地地址、協議標識符等的標頭信息)和/或專用網絡的特性(例如,基于網絡拓撲等的路由)適當地轉發數據包或其他數據通信來管理通信。應理解,為了簡單起見,示出了這個實施例的計算系統和其他裝置的各方面,而并未展示某些常規的細節。另外,計算系統和其他裝置在其他實施方案中可被互連并且可以不同的方式互連。
應理解,在圖2中示出的網絡拓撲已大大簡化,并且可使用更多的網絡和網絡裝置來互連本文所公開的各種計算系統。這些網絡拓撲和裝置對本領域技術人員來說應是顯而易見的。
應理解,在圖2中所述的數據中心210僅是說明性的,并且也可使用其他實施方式。另外,應理解,本文所公開的功能可以軟件、硬件或軟件與硬件的組合來實施。其他實施方式對本領域技術人員來說是應顯而易見的。應理解,服務器、網關或其他計算裝置可包括可交互并且執行所述類型的功能的硬件或軟件的任何組合,其包括但不限 于臺式計算機或其他計算機、數據庫服務器、網絡存儲裝置和其他網絡裝置、PDA、平板計算機、移動電話、無線電話、尋呼機、電子管理器、因特網電器、(例如,使用機頂盒和/或個人/數字視頻記錄器的)基于電視的系統和包括適當通信能力的各種其他消費品。另外,由所示出模塊提供的功能可在一些實施方案中以較少的組件來組合或分布于另外的模塊中。類似地,在一些實施方案中,可以不提供所示出模塊中的一些的功能且/或可使用其他另外的功能。
由數據中心210提供的所購買計算資源的容量可響應于需求而進行縮放。就這一點而言,縮放是指響應于需求而使計算資源的實例實例化(其在本文中也可稱為“啟動”或“創建”)或終止(其在本文中也可稱為“停止縮放”)的過程。以這種方式,數據中心210的客戶所購買的資源的容量可按需求進行縮放。
自動縮放是一種用于響應于對這些資源的需求的增加或減弱來對計算資源進行縮放的機制。自動縮放允許數據中心210的客戶配置數據中心210來根據客戶所定義的條件對客戶所購買的計算資源進行縮放。例如,可定義規則以用于響應于指定的條件(如需求高峰)的發生而以特定方式放大容量。類似地,也可定義規則來響應于其他條件(如需求減弱)的發生而以特定方式縮小容量。當實例由客戶手動地啟動或當實例由在數據中心210中的自動縮放組件啟動時,可使用本文所公開的用于啟動虛擬機實例的機制。
數據中心210也可被配置有部署組件來輔助客戶部署計算資源的新實例。部署組件可從客戶接收配置,所述配置包括描述新實例應如何被配置的數據。例如,所述配置可以:指定應在新實例中安裝的一個或多個應用程序或軟件組件,提供將要在新實例中執行的腳本和/或其他類型的代碼,提供指定應如何準備應用程序高速緩存的高速緩存熱身邏輯以及其他類型的信息。部署組件使用客戶提供的配置和高速緩存熱身邏輯來啟動、配置并預先準備計算資源的新實例。
在許多情況下,數據中心的客戶或數據中心的軟件或數據供應商可請求驗證指定的計算配置未被修改或篡改。例如,客戶可能想要接收到指定的操作系統已被加載的保證。在一些實施方案中,客戶可能 想要接收到特定軟件應用程序已被加載并且未被篡改的保證。提供例如云計算服務的數據中心可能處于有利的位置來提供這種保證。服務提供商或數據中心通常擁有并且操作計算基礎結構,而內容提供商可能向服務提供商或數據中心僅提供軟件和/或數據。許多軟件/數據供應商(如向數據中心和基于云的服務分布軟件和內容的內容供應商)可請求由數據中心和基于云的服務提供的計算服務滿足某些標準(如數據加載的完整性、處理某些數據的能力等)的保證。
在提供虛擬化服務的基于云的服務中,服務提供商關于軟件/數據加載過程的位置將所述提供商置于通過客戶端提供可信服務并且為客戶端提供可信服務的位置。許多組織和商家依靠由服務提供商提供的計算資源來提供計算服務和信息服務,以便支持其日常操作。由服務提供商提供的計算服務對商家來說極其重要,因為連續的且可靠的計算服務可用性對商家正在進行的操作來說很重要。安全性不僅對服務可靠性來說而且對保護客戶的有價值的且專有的信息來說是重要的考慮因素。因此,有必要使客戶能夠信任由數據中心提供的計算服務的可靠性和安全性。例如,如果客戶請求安裝指定的操作系統,那么基于云的服務被信任來啟動具有指定的操作系統的虛擬機。當客戶注冊了基于云的服務時所假定的信任可因此被利用來允許通過利用服務提供商的信譽來將所述信任經由服務提供商所提供的可信服務轉移至第三方。例如,服務提供商可審核并驗證客戶的軟件配置并且提供針對所述配置的唯一標識符,所述標識符可用作第三方驗證所述配置的完整性的憑據。因此,關于由將軟件托管在服務提供商的資源上的客戶所提供的服務,服務提供商扮演審核者的角色。
在一個實施方案中,客戶可請求實例并且請求部署特定的軟件配置和數據。在數據中心中的服務器操作員可負責在所述實例上加載客戶所請求的軟件和數據。另外,客戶可請求數據中心提供審核證書。在一些實施方案中,審核證書可以是數字證書,但是應理解,可提供任何類型的證書(電子證書或其他形式的證書)。隨后,可將審核證書呈現給第三方以便驗證部署情況。由于第三方信任服務提供商,因而審核證書可作為對所部署軟件和/或數據的確認而被接受。
因此,在各種實施方案中,服務提供商可充當驗證部署情況的可信方,并且提供用于提供對部署的可信驗證的手段。在一些實施方案中,使用由服務提供商作為服務來操作的資源的客戶可使用如上文所述的審核證書機制來向其用戶確認:實例正在使用由服務提供商加載并驗證的軟件。例如,提供數字視頻或音樂服務的客戶可向其用戶提供特殊化媒體播放器軟件,以便呈現視頻或音樂文件,同時防止對所述文件的未授權復制。為了向視頻或音樂提供商提供用戶正在使用并未被篡改的合法呈現軟件的保證,服務提供商可向視頻或音樂提供商提供審核證書,以證明呈現軟件的托管在服務提供商的計算資源上的實例已被加載并且針對已知配置被驗證。
因此,作為部署軟件和數據的計算硬件的擁有者/操作者,服務提供商可使用驗證方法(如計算配置完整性驗證工具)來審核所部署的軟件和數據。在一個實施方案中,可計算所加載的軟件和數據的校驗和。校驗和是從可用來檢測數據在傳輸或存儲期間的變化或誤差的數據塊計算出的值。通過重新計算校驗和并且將其與所存儲校驗和進行比較來檢查所傳輸或存儲的數據的完整性,所存儲校驗和表示用來啟動實例的文件的已知或期望狀態的校驗和。在其他實施方案中,可使用其他驗證方法,如散列函數和指紋。
由于服務提供商的客戶可能僅愿意下載數據來與可信用戶交互或者以其他方式與可信用戶交互,因而由服務提供商提供的配置完整性驗證工具可通過提供可靠的數據完整性機制來提供這種信任。以這種方式,如本文所述的信任模型可在三方之間提供信任機制,這三方是:服務提供商(信任提供者)、服務提供商的客戶(信任請求者),和服務提供商的客戶的產品或服務的終端用戶。在一個實施方案中,通常擁有并操作計算硬件的服務提供商可接收客戶所提供的軟件配置。服務提供商可使用如校驗和的數據完整性機制來記錄或審核在客戶所請求的虛擬資源上加載的內容。在軟件配置被加載時或以其他方式在被客戶請求時(如在終端用戶與虛擬資源交互之前),校驗和可由服務提供商提供給客戶。服務提供商也可提供其他信息,如模版和包括所加載文件的名稱的審核日志。由于服務提供商可提供第三方請求者所需的 全部驗證,因而請求具有所述軟件配置的實例的客戶并不需要向任何第三方請求者提供任何另外的驗證。
在實施方案中,審核信息可從服務提供商發送至第三方請求者,因此允許第三方請求者依靠直接來自服務提供商的審核以及校驗和信息。第三方請求者可驗證從服務提供商接收的校驗和以及其他信息與第三方請求者所期望的信息相匹配。在一些實施方案中,第三方請求者可提供用于使虛擬機實例化的一組詳細信息,如硬盤圖像、引導加載程序、引導加載程序配置、硬件配置(例如,處理器和存儲器)等。
校驗和是可在本文所公開的實施方案中使用的數據完整性機制的一個實例。如上文所提及的,可使用用于驗證數據完整性的任何機制,如散列函數算法或指紋算法。在一個實施方案中,可使用公鑰基礎結構(PKI)。在一些實施方案中,可信平臺模塊功能可包括在計算裝置中。可信平臺模塊可包括獨特地識別可信平臺模塊并且因此識別物理主機的認可私鑰。可信平臺模塊也可包括加密功能。硬件制造商可簽署對應的公鑰來保證可信平臺模塊的完整性和秘鑰的有效性。可信平臺可利用可信平臺模塊的特征來實現驗證。例如,在引導時,主機(例如,實例管理程序)可計算測量列表,這個測量列表由引導序列中所涉及的軟件(例如,BIOS、引導加載程序和實施所述平臺的軟件)的散列組成。測量列表可被安全地存儲在主機的可信平臺模塊中。為了提供對配置驗證服務180的確認,服務可利用現時標志(nonce)(例如,用來簽署加密通信的序列)來質詢主機。配置驗證服務180可請求本地可信平臺模塊來創建包含測量列表和現時標志的消息。這個消息可利用可信平臺模塊的私鑰進行加密。隨后,主機可向配置驗證服務180發送所述消息,配置驗證服務180隨后可使用所述私鑰的對應公鑰來解密所述消息,從而對主機進行身份驗證。隨后,配置驗證服務180可存儲驗證后的列表并且向第三方請求者發送驗證后的列表或至少部分地基于所述驗證后的列表的信息。通過檢查現時標志是否匹配和測量列表是否對應于被視為可信的配置,第三方請求者可識別在不可信主機上的平臺。通過使用可信平臺模塊,內容的提供商可確保內容僅被下載到并未被篡改或更改的可信裝置上。
在一些實施方案中,另外一方或第四方可用作驗證服務來提供任選等級或另外等級的驗證。例如,第四方驗證工具可審核并驗證:服務提供商正在采用可靠的加載和驗證過程并且將是可信的。
圖3示出在其中提供配置驗證服務的一個實施方案。圖3包括虛擬機實例302、304、306和308。在圖中,虛擬機實例302包括文件A、B、G和H以及校驗和。虛擬機實例304包括文件A、B、C、D、E和F以及校驗和。虛擬機實例306包括文件A和B以及校驗和。虛擬機實例308包括文件G、H、M和N以及校驗和。虛擬機實例302、304、306和308中的每一個可與相應的軟件配置312、314、316和318相關聯。作為實例,軟件配置312可包括特定操作系統。
圖4示出審核記錄400的實施例。在一些實施方案中可實施圖4所示的元素或字段的子集,而且并不是全部所實施字段都可被填充。當創建審核記錄400時,可創建可用來獨特地識別審核記錄400的新的審核ID401。在一些實施方案中,描述字段402可由用戶或管理員提供。在一些實施方案中,可在其中使用審核記錄的數據中心網絡可包括如虛擬機實例的多個計算資源。在這些情況下,審核記錄400可包含資源ID403。例如,通過留出一組服務平臺、一組網絡地址范圍、其他設備或資源和網絡管理能力以供特定客戶專用,提供商網絡的操作員可建立用于所述客戶的邏輯分區。
客戶ID404可用來識別請求了資源的客戶。第三方ID405可識別可被授權來請求審核記錄400的內容中的一些或全部的一個或多個第三方。在一個實施方案中,授權第三方來請求并接收審核記錄400的策略可由客戶創建。配置驗證服務180可接收針對審核記錄的請求,并且檢查所述策略來確定所述策略是否授權發出請求的第三方查看或接收所述記錄。
審核記錄400可包括配置驗證服務180的數字簽名410。文件列表440可包括數據列表,如在資源ID403上識別的資源上下載的文件名。例如,文件列表440可包括文件450、451、452和453。完整性驗證工具類型460可識別用來驗證文件列表440的內容的數據完整性方法的類型。完整性驗證工具數據470可存儲完整性驗證工具的值。
在一個實施方案中,圖4所示的字段中的一些可由指向其他對象的引用或指針替換。例如,可將針對審核記錄400的數據存儲在單獨的數據對象中,并且審核記錄400可存儲指向數據對象的引用。
圖5示出可在其中實施本文所述的實施方案的示例性計算環境。參考這個圖,服務器計算機502、510、520和530可與配置驗證服務504通信,以使得可審核軟件和數據信息。審核信息可存儲在服務器計算機502、510、520和530中的一個上的數據存儲中,或存儲在是配置驗證服務504的一部分的數據存儲(未展示)中。在一些實施方案中,配置驗證服務504可對應于如圖1中所述的配置驗證服務180。服務器計算機502可托管虛擬機實例506和508。類似地,服務器計算機510可托管虛擬機實例512;服務器計算機520可托管虛擬機實例522、524和526;并且服務器計算機530可托管虛擬機實例532。
服務器計算機502可向配置驗證服務504發送虛擬機532將被啟動的指示,并且作為響應,配置驗證服務504可發起配置驗證過程。配置驗證服務504可與服務器計算機502的加載和配置過程交互以便生成用來啟動所述實例的文件和數據的記錄。另外,配置驗證服務504可基于所安裝的文件和數據來生成配置完整性驗證工具。在另一種配置中,服務器502可生成用于虛擬機506或508的所安裝文件和數據的記錄,并且將所述記錄發送至配置驗證服務504以供存儲。配置驗證服務504可將所述記錄或基于所述記錄的信息出售給第三方。在實施方案中,實例管理程序可被配置來響應于來自客戶的請求而生成記錄。例如,客戶可(經由控制臺或API)向服務提供商提交請求來指示如下偏好:由配置驗證服務504生成針對某些實例的記錄。類似地,當啟動實例時,客戶可向API調用添加參數,這個參數指示已實現記錄生成。當實例由服務提供商啟動時,對生成記錄的請求可被傳播給主機,主機又可實現配置驗證過程。
在一些實施方案中,可從服務器計算機502代表其他服務器計算機510、520和530將針對配置驗證的請求發送至配置驗證服務504。在其他實施方案中,第三方(如在服務器計算機502、510、520和530中的一個上執行或在另一計算裝置上執行的服務)可代表服務器計算 機502、510、520和530中的一個或多個發送請求。
配置驗證服務504可實施為分布式系統并且可駐留在一個或多個數據中心中的一個或多個服務器計算機和/或其他計算資源上。在一些實施方案中,配置驗證服務504可由VMM或在數據中心中執行的其他管理軟件管理。配置驗證服務504也可在一個或多個虛擬機上執行。
圖6示出用于提供配置驗證服務的示例性操作程序。在實施方案中,數據中心可給客戶提供虛擬化計算機資源和/或存儲資源的一個或多個實例。在操作600中,客戶可請求計算資源(如虛擬實例)并且請求部署特定的軟件配置和數據。例如,客戶可向計算服務提交API調用,這個API調用指示要執行的動作(例如,RunInstances)和要啟動的圖像。客戶也可請求驗證針對圖像的配置。在一個實施方案中,客戶可創建用來允許將配置驗證信息提供給第三方的策略。所述策略也可指定是否將允許第三方訪問配置審核記錄或僅訪問配置驗證的結果。針對驗證配置的請求和/或策略可存儲為附接至實例圖像的元數據。可調用如上文所述的配置驗證服務,所述配置驗證服務例如對應于圖1中所述的網絡配置驗證服務180和/或圖5中所述的配置驗證服務504。在操作610中,在數據中心中運行的放置服務(未示出)可識別可提供所請求的計算資源的資源,如在數據組中心中的計算機服務器。
在操作620中,可將所請求的計算資源聯機。如果所請求的計算資源是虛擬機,那么可在所識別的服務器計算機上使虛擬機實例化。在操作622中,可讀取配置驗證元數據,并且可將對實現配置驗證功能的請求作為啟動請求的一部分推送給主機。在操作624中,可加載所請求的軟件和數據。在一個實施方案中,實例的成功啟動可包括向客戶發送實例ID或映射到所述實例ID的某一其他令牌。在一些實施方案中,令牌可能是實例ID的加密版本。
在操作625中,可審核由主機加載的軟件和數據。例如,實例管理程序可追蹤由實例加載的軟件文件和數據并且使用所述信息生成記錄。在操作630中,可生成完整性驗證工具,如校驗和。例如,實例管理程序可針對被加載的每個文件和/或針對作為引導程序的一部分 由實例加載的文件的集合生成校驗值。或者,可由配置驗證服務生成配置完整性驗證工具。例如,可將在引導操作期間用來引導的文件發送至配置驗證服務,配置驗證服務可生成一個或多個校驗和。如上文所述,這些操作的順序不需要是相繼進行的,并且可并行執行。例如,配置驗證服務可審核所加載的軟件和數據,并且在加載所述軟件和數據時生成完整性驗證工具。
在操作635中,確定是否已接收到驗證請求。如果已接收到驗證請求,那么在操作640中可將實例ID或令牌提供給請求所述驗證的第三方。在一些實施方案中,第三方可查詢用于驗證的API并且通過經由所述API傳遞實例ID或令牌。可檢查由客戶創建的策略來確定第三方是否被授權接收驗證信息。取決于所述策略,可提供審核結果和/或配置完整性驗證工具。
圖7示出用于驗證計算配置的示例性操作程序。參考圖7,操作700開始進行操作程序。操作700之后可以是操作702。操作702示出接收針對虛擬資源和用于所述虛擬資源的配置的請求。在實施方案中,可在包括多個計算裝置的計算環境中接收所述請求,所述計算裝置提供計算資源。另外,且任選地,所述配置可包括至少一個軟件配置,所述至少一個軟件配置的提供商已請求對所述至少一個軟件配置進行完整性驗證。
操作702之后可以是操作704。操作704示出響應于接收到針對虛擬資源的請求而根據所請求的配置使所請求的虛擬資源實例化。操作704之后可以是操作706。操作706示出審核實例化虛擬資源來生成所加載的軟件和數據的記錄。操作706之后可以是操作708。操作708示出基于所加載的軟件和數據的記錄和所請求的配置來計算配置完整性驗證工具。
操作708之后可以是操作710。操作710示出確定是否已接收到對驗證所加載的配置的請求。如果并未接收到請求,那么操作710之后可以是操作702。
如果已接收到對驗證所加載的配置的請求,那么操作710之后可以是操作712。操作712示出提供配置完整性驗證工具。在實施方案 中,服務提供商可公開用于查詢給定實例的完整性的API,并且第三方(如使用由所述實例提供的功能的公司)在與所述實例交互之前可向所述API提交查詢。當與API交互時,第三方可指定如VerifyInstanceConfiguration的動作并且將實例的實例ID、實例的公共IP地址和/或令牌作為參數加以傳遞。在接收到請求之后,可將對驗證實例配置的請求選路傳送至配置驗證服務。配置驗證服務可對來自第三方的請求進行身份驗證并且確定第三方是否被授權接收所述實例的配置信息。例如,配置驗證服務可與標識服務通信來檢查第三方是否有足夠的權限。如果第三方有足夠的權限,那么配置驗證服務可將記錄發送至第三方。或者,配置驗證服務可將“正確”或“已驗證”響應返回給第三方。這種配置可用來防止將實際上已加載的軟件的細節分布給第三方并且可在策略中指定。配置完整性驗證工具可用作對所加載的軟件和數據提供了所請求的配置的可信第三方驗證。例如,響應于至少一個軟件配置的提供商對進行驗證的請求,或響應于實例化虛擬資源的用戶對驗證至少一個軟件配置的請求,將配置完整性驗證工具和關于審核后的實例化虛擬資源的信息以及所加載軟件和數據的記錄發送至至少一個軟件配置的提供商。
本公開的實施方案可基于以下條款來描述:
1.一種計算系統,其包括:
至少一個計算裝置;以及
與所述至少一個計算裝置通信的至少一個存儲器,所述至少一個存儲器在其上存儲有計算機可讀指令,所述指令在由所述計算系統執行時,使所述計算系統至少進行以下操作:
接收針對實例的請求;
響應于接收到針對所述實例的請求,使所述請求的實例實例化,其中使所述請求的實例實例化包括加載操作系統軟件或數據;
審核所述實例來生成所述加載的操作系統軟件或數據的記錄;
基于所加載的操作系統軟件或數據的記錄和用于所述實例的配置來計算配置完整性驗證工具;以及
響應于對驗證所述操作系統軟件或數據的請求,提供所述配置完 整性驗證工具、關于所述審核后的實例化實例的信息和所加載的操作系統軟件或數據的記錄,以作為對所述操作系統軟件或數據被用來使所述實例實例化的可信第三方驗證。
2.根據條款1所述的系統,其中所述配置完整性驗證工具包括校驗和。
3.根據條款1所述的系統,其中對驗證所述操作系統軟件或數據的所述請求是從所述配置的提供商或所述實例的用戶接收的。
4.根據條款1所述的系統,其中所述配置完整性驗證工具的提供商是由驗證服務來認證。
5.根據條款1所述的系統,其中所述配置完整性驗證工具是由公鑰基礎結構中的數字證書來認證。
6.根據條款1所述的系統,其中提供對操作系統或數據的驗證的許可是由所述實例的請求者授權的。
7.一種用于驗證計算配置的方法,所述方法包括:
接收針對計算資源的請求,其中提供所述計算資源包括加載代碼或數據;
響應于接收到針對所述計算資源的所述請求,通過加載所述代碼或數據使所述請求的計算資源實例化;
審核所述加載的代碼或數據來生成所述加載的代碼或數據的記錄;
基于所述加載的代碼或數據的所述記錄來計算配置完整性驗證工具;以及
響應于對驗證所述加載的代碼或數據的請求而發送所述配置完整性驗證工具,所述配置完整性驗證工具可用作對所述加載的代碼或數據的可信驗證。
8.根據條款7所述的方法,其中在包括多個計算裝置的計算環境中接收所述請求,所述計算裝置提供計算資源。
9.根據條款7所述的方法,其中所述計算資源是虛擬機。
10.根據條款7所述的方法,其中響應于來自所述代碼或數據的提供商的對驗證所述代碼或數據的請求,將所述配置完整性驗證工具 發送至所述代碼或數據的提供商。
11.根據條款7所述的方法,其中響應于所述計算資源的用戶對驗證所述代碼或數據的請求,將所述配置完整性驗證工具發送至所述代碼或數據的用戶。
12.根據條款7所述的方法,其中在所述計算資源的用戶訪問所述計算資源之前,將所述配置完整性驗證工具發送至所述代碼或數據的提供商。
13.根據條款7所述的方法,其中所述配置完整性驗證工具包括校驗和。
14.根據條款7所述的方法,其中所述配置完整性驗證工具是由公鑰基礎結構中的數字證書來認證。
15.一種非暫時性計算機可讀存儲介質,所述非暫時性計算機可讀存儲介質在其上存儲有計算機可讀指令,所述計算機可讀指令包括在計算節點上被執行時至少導致以下操作的指令:
響應于接收到針對計算資源的請求,其中所述請求包括需要加載代碼或數據的配置,根據包括所述代碼或數據的所述請求的配置來提供所述請求的計算資源;
審核所述計算資源來生成所述加載的代碼或數據的記錄;
基于所述加載的代碼或數據的記錄來計算配置完整性驗證工具;以及
呈現所述配置完整性驗證工具,以作為對所述加載的代碼或數據的可信驗證。
16.根據條款15所述的非暫時性計算機可讀存儲介質,其中所述呈現是響應于所述計算資源對訪問由所述代碼或數據提供的功能的請求。
17.根據條款16所述的非暫時性計算機可讀存儲介質,其中所述呈現包括將所述配置完整性驗證工具發送至所述代碼或數據的提供商。
18.根據條款16所述的非暫時性計算機可讀存儲介質,其中所述呈現包括將所述配置完整性驗證工具發送至由所述代碼或數據的提供 商授權的服務提供商。
19.根據條款16所述的非暫時性計算機可讀存儲介質,其中所述計算資源是虛擬實例。
20.根據條款16所述的非暫時性計算機可讀存儲介質,其中所述配置完整性驗證工具包括校驗和。
21.一個或多個非暫時性計算機可讀存儲介質,所述非暫時性計算機可讀存儲介質總體上在其上存儲有可執行指令,所述指令在由計算機系統的一個或多個處理器執行時,使所述計算機系統至少實施:
應用程序編程接口子系統,其被配置來進行以下操作:
接收第一電子消息,所述第一電子消息編碼指示針對計算資源的請求的標識符,其中提供所述計算資源包括加載代碼或數據;以及
響應于接收到所述電子消息中的一個,發送第二電子消息,所述第二電子消息指示導致以下操作的指令:
加載包括所述代碼或數據的所述請求的計算資源;
審核所述加載來生成所述加載的代碼或數據的記錄;以及
基于所述加載的代碼或數據的所述記錄來計算配置完整性驗證工具。
22.根據條款21所述的非暫時性計算機可讀存儲介質,其中所述第二電子消息指示導致以下操作的指令:響應于第三電子消息而發送所述配置完整性驗證工具,所述第三電子消息編碼指示對驗證所述加載的代碼或數據的請求的標識符,所述配置完整性驗證工具可用作對所述加載的代碼或數據的可信驗證。
在前述部分中所述的過程、方法和算法中的每一個可體現在由一個或多個計算機或計算機處理器執行的代碼模塊中,并且完全或部分地由所述代碼模塊自動進行。所述代碼模塊可存儲在任何類型的非暫時性計算機可讀存儲介質或計算機存儲裝置(如硬盤、固態存儲器、光盤和/或類似裝置)上。所述過程和算法可部分地或全部地在專用電路中實施。所公開的過程和處理步驟的結果可永久地或以其他方式存儲在任何類型的非暫時性計算機存儲器(例如像易失性或非易失性存儲裝置)中。
上文所述的各種特征和過程可彼此獨立地使用或可以各種方方式進行組合。所有可能的組合和子組合意圖落入本公開的范圍內。另外,某些方法和過程塊可在一些實施方式中省略掉。本文所述的方法和過程也不限于任何特定的順序,并且與之相關的塊或狀態可按其他適當的順序執行。例如,所述的塊或狀態可按不同于已特別公開的次序的次序執行,或多個塊或狀態可組合在單個塊或狀態中。示例性塊或狀態可串行地、并行地或以其他方式執行。塊或狀態可被添加至所公開的示例性實施方案或可從這些實施方案中移除。本文所述的示例性系統和組件可以不同于所述方式的方式被配置。例如,與所公開的示例性實施方案相比,元件可被添加、移除或重新布置。
還應了解,盡管各種項目被示出為在使用時存儲在存儲器中或者存儲裝置上,但是為了存儲器管理和數據完整性,可在存儲器與其他存儲裝置之間傳送這些項目或它們的部分。或者,在其他實施方案中,軟件模塊和/或系統中的一些或全部可在另一裝置上的存儲器中執行,并且經由計算機間的通信來與所示出的計算機系統通信。另外,在一些實施方案中,可以其他方式(如,至少部分地在固件和/或硬件中)實施或提供所述系統和/或模塊中的一些或全部,所述硬件包括但不限于一個或多個專用集成電路(ASIC)、標準集成電路、控制器(例如,通過執行適當的指令并且包括微控制器和/或嵌入式控制器)、現場可編程門陣列(FPGA)、復雜可編程邏輯裝置(CPLD)等。所述模塊、系統和數據結構中的一些或全部也可(例如作為軟件指令或結構化數據)存儲在計算機可讀介質(如硬盤、存儲器、網絡或通過適當驅動器或經由適當連接來讀取的便捷式媒體物品)上。所述系統、模塊和數據也可作為所生成的數據信號(例如,作為載波或其他模擬或數字傳播信號的一部分)在各種計算機可讀傳輸介質(包括基于無線的介質和基于有線/電纜的介質)上傳輸,并且可采取多種形式(例如,作為單個模擬信號或多路復用的模擬信號的一部分,或作為多個離散的數字數據包或幀)。在其他實施方案中,這類計算機編程產品也可采取其他形式。因此,本發明可用其他計算機系統配置來實踐。
除非另外特別說明,或者在所用上下文中另外加以理解,否則如 “能夠”、“可”、“可能”、“可以”、“例如”等等本文所使用的條件語言通常意圖表達:某些實施方案包括某些特征、元件和/或步驟,但其他實施方案不包括這些特征、元件和/或步驟。因此,這種條件語言通常并非意圖暗示所述特征、元件和/或步驟無論如何都是一個或多個實施方案所必需的,或者并非暗示一個或多個實施方案必須包括用于在借助和不借助輸入或者提示的情況下決定是否包括這些特征、元件和/或步驟或是否在任何特定實施方案中實施這些特征、元件和/或步驟的邏輯。術語“包含”、“包括”、“具有”等是同義的,并且都可以開放式的方式使用,并且并不排除另外的元件、特征、動作、操作等。同樣地,術語“或者”是在包括性意義上(而不是它的排他性意義上)使用,因此例如在用來連接元素的列表時,術語“或者”意為所述列表中的元素中的一個、一些或全部。
盡管已經描述某些示例性實施方案,但是這些實施方案僅僅通過實例呈現,且并非意圖限制本文所公開的發明的范圍。因此,前文所述的內容并非意圖暗示任何特定的特征、特性、步驟、模塊或塊是必需的或不可或缺的。實際上,本文所述的新穎方法和系統可以多種其他形式體現;另外,在不脫離本文所公開的發明的精神的情況下,可以對本文所述的方法和系統做出各種省略、替代和形式變化。所附權利要求書和其等效物意圖涵蓋將會落在本文所公開的發明的范圍和精神內的這類形式或修改。

關 鍵 詞:
可信 提供商 進行 配置 驗證
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:由可信提供商進行的配置和驗證.pdf
鏈接地址:http://www.rgyfuv.icu/p-6409777.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图