專利名稱:用于服務處理器復合體中的數據存儲的基于需求的usb代理的制作方法
技術領域:
本公開一般涉及計算環(huán)境的管理。
背景技術:
隨著因特網的無處不在,服務器計算機系統(tǒng)的使用已經激增了。服務器計算機系統(tǒng)經常通過網絡向大組織內部的私人用戶或經由因特網向公共用戶提供必要服務。許多服務器已經致力于諸如萬維網服務器、打印服務器和數據庫服務器的功能性。一些公司在對它們商業(yè)功能操作關鍵的“服務器群”或“服務處理器復合體”中維護了成百乃至上千的服務器計算機系統(tǒng)。企業(yè)服務器理想上是非常容錯的,因為甚至短期故障也可比購買和安裝系統(tǒng)成本更高。例如,在國家證券交易所可能僅幾分鐘停機時間就證明了用更可靠系統(tǒng)完全代替出故障系統(tǒng)的花費的合理性。為了提高可靠性,大多數服務器使用具有檢錯和糾錯的存儲器、冗余盤、冗余電源等。這種組件也是可頻繁熱插拔的,允許管理員將它們放在正在運行的服務器上,無需關閉服務器。因為服務器通常由有資格的工程師管理,因此服務器操作系統(tǒng)比用戶友好性和使用方便性相比更多地為穩(wěn)定性和性能進行調整,其中Linux操作系統(tǒng)比桌面計算機占明顯更大的百分比。必須以安全方式并且盡可能快地執(zhí)行對服務器操作系統(tǒng)、基本輸入/輸出系統(tǒng)(BIOS)固件和其它系統(tǒng)固件的更新。
圖1是根據本發(fā)明一個實施例的、配置成實現安全服務器平臺管理的平臺的框 圖2是示出根據本發(fā)明一個實施例的、提供安全服務器平臺管理服務中圖1的系統(tǒng)組件的操作的流程 圖3是根據本發(fā)明一個實施例的、提供安全服務器平臺管理服務中圖1的系統(tǒng)組件的操作的流程圖。
具體實施例方式更新服務器操作系統(tǒng)軟件和/或BIOS以及其它系統(tǒng)固件的當前機制局限于將有效載荷嵌入在BIOS固件內,BIOS固件在已經加載了操作系統(tǒng)之后從閃速存儲器或硬盤驅動器分區(qū)加載。這些更新通常發(fā)生在系統(tǒng)處于系統(tǒng)管理模式(SMM)時,該模式是計算機系統(tǒng)的操作模式,首先與英特爾386SL —起發(fā)布并在隨后英特爾架構中的后續(xù)微處理器中可用。在SMM期間,所有正常執(zhí)行(包括操作系統(tǒng))都停止,并且在高特權模式執(zhí)行特殊的獨立軟件(通常是固件或硬件輔助的調試器)。SMM提供隔離的存儲器和執(zhí)行環(huán)境,并且SMM代碼對操作系統(tǒng)不可見,仍保持對主物理存儲器的完全存取和對外圍硬件的完全控制。SMM通常用于配置系統(tǒng);處理系統(tǒng)事件,諸如存儲器或芯片集錯誤;執(zhí)行系統(tǒng)安全功能,諸如在達到高CPU溫度時關閉;執(zhí)行功率管理操作,諸如打開風扇;以及模擬硬件。傳統(tǒng)上,進入SMM以對系統(tǒng)管理中斷提供服務,并且然后重新開始程序執(zhí)行(回到包含執(zhí)行和應用軟件的軟件棧)。通常,基本輸入/輸出系統(tǒng)(BIOS)不約束處于SMM時的系統(tǒng)操作。BIOS固件通常被加載到閃速存儲器裝置上,閃速存儲器裝置具有有限的空間,其大小隨系統(tǒng)而改變。嵌入還改變到系統(tǒng)軟件或固件,因為BIOS固件內或硬盤驅動器分區(qū)中的有效載荷因此需要約束有效載荷的大小。而且,因為有效載荷一旦加載了就可由服務器操作系統(tǒng)讀取,因此有效載荷可暴露于已經被病毒感染的服務器操作系統(tǒng),存在安全風險。一個可能的解決方案是提供有效載荷的簽名版本;然而,在SMM中,必須在用于處理單個系統(tǒng)管理中斷的時間約束下執(zhí)行驗證簽名和讀取有效載荷。這些時間約束還限制了分布含有服務器系統(tǒng)的系統(tǒng)軟件和/或固件更新的有效載荷的能力??朔@些約束的所提出的解決方案是,在按需的安全I/O操作中分布含有服務器系統(tǒng)的系統(tǒng)軟件和/或固件更新的有效載荷。經由服務器操作系統(tǒng)不可訪問的安全通信信道從模擬USB驅動器執(zhí)行I/O操作。使用平臺控制器RAM和/或閃速存儲器模擬USB驅動器。有效載荷可以是任何大小,而不是將有效載荷嵌入在BIOS固件中并受到閃速存儲器的大小限制或將有效載荷放到有限大小的硬盤驅動器分區(qū)中。有效載荷可含有操作系統(tǒng)軟件、BIOS映像、診斷軟件和/或統(tǒng)一可擴展固件接口(UEFI)模塊。僅在認證有效載荷的接收方之后才為1/0操作建立安全通信信道,并且可保護有效載荷免于由潛在感染的服務器操作系統(tǒng)訪問。而且,可按需傳遞有效載荷,而不是依賴于BIOS更新進度,并且可以寫操作的速度向USB驅動器傳遞有效載荷。本發(fā)明的實施例可提供一種方法、設備、系統(tǒng)和計算機程序產品,用于安全管理服務器平臺,包括提供對服務器計算機系統(tǒng)的BIOS、其它系統(tǒng)固件和操作系統(tǒng)的更新。在一個實施例中,方法包括在具有耦合到能夠生成系統(tǒng)管理中斷(SMI)的1/0控制器的平臺控制器的系統(tǒng)中,執(zhí)行如下操作:響應于要求安全訪問數據的事件,生成SMI以使系統(tǒng)進入系統(tǒng)管理模式;使用所述平臺控制器的資源創(chuàng)建模擬USB裝置,其中所述資源存儲所述數據;經由所述系統(tǒng)的操作系統(tǒng)不可訪問的連接從所述模擬USB裝置拷貝所述數據;以及在退出系統(tǒng)管理模式之前處理所述數據。該方法還可包括當處于系統(tǒng)管理模式時認證所述數據的接收方。該方法還可包括平臺控制器向1/0控制器聲明1/0事件。該方法還可包括1/0控制器經由1/0事件接收數據。在一個實施例中,平臺控制器是基板管理控制器。在另一實施例中,平臺控制器由系統(tǒng)的芯片集的可管理性引擎提供。在一個實施例中,該方法還包括從企業(yè)服務器向模擬USB驅動器下載數據。該方法還可包括在系統(tǒng)退出系統(tǒng)管理模式之前操作系統(tǒng)將模擬USB驅動器移出可視范圍。還提供了用于執(zhí)行該方法的系統(tǒng)和具有用于執(zhí)行該方法的指令的計算機程序產品。說明書中提到本發(fā)明的“一個實施例”或“實施例”是指結合該實施例描述的具體特征、結構或特性包含在本發(fā)明的至少一個實施例中。由此,在整個說明書各處出現的短語“在一個實施例中”、“根據一個實施例”等不一定都指的是同一實施例。為了說明目的,闡述了特定配置和細節(jié)以便提供對本發(fā)明的全面理解。然而,對本領域技術人員將顯而易見的是,可在沒有本文給出的特定細節(jié)的情況下實施本發(fā)明的實施例。而且,可省略或簡化眾所周知的特征以免使本發(fā)明模糊不清。在整個說明書中給出了各種示例。這些只是本發(fā)明特定實施例的描述。本發(fā)明的范圍不限于給出的示例。本文使用術語“帶外”來描述獨立于主流的通信,諸如獨立于客戶端裝置的操作系統(tǒng)(OS)進行的、在服務器裝置與客戶端裝置的管理模塊之間的通信。在此說明書中,客戶端裝置可以是服務器計算機系統(tǒng),而服務器裝置可以是運行在另一企業(yè)管理服務器系統(tǒng)上的企業(yè)管理模塊。圖1是根據本發(fā)明一個實施例的、配置成實現BIOS和其它系統(tǒng)固件以及服務器操作系統(tǒng)的安全系統(tǒng)管理的平臺的框圖。對應于服務器計算機系統(tǒng)的平臺100包含經由桌面管理接口(DMI) 111連接到芯片集120的處理器110。處理器110向平臺100提供處理能力,并且可以是單核或多核處理器,并且在平臺100中可包含多于一個處理器。處理器110可經由一個或多個系統(tǒng)總線、通信通道或介質(未示出)連接到平臺100的其它組件。通過加載并運行基本輸入/輸出系統(tǒng)(BIOS) 114可初始化處理器110,其然后可加載服務器操作系統(tǒng)113。在操作期間,處理器110可最終進入系統(tǒng)管理模式(SMM)。調用SMM處理機115以進入SMM。在SMM期間,所有正常執(zhí)行(包括操作系統(tǒng)113)都停止,并且在高特權模式執(zhí)行特殊的獨立軟件(通常是固件或硬件輔助的調試器)。SMM提供隔離的存儲器和執(zhí)行環(huán)境,并且SMM代碼對服務器操作系統(tǒng)113不可見,仍保持對主物理存儲器的全存取和對外圍硬件的完全控制。再次參考圖1,平臺控制器/BMC 180提供了用以管理企業(yè)服務170與平臺硬件之間的帶外(out-of-band)接口的邏輯。例如,根據智能平臺管理接口(IPMI)架構,可由基板管理控制器(BMC)提供平臺控制器/BMC 180。帶外接口諸如IPMI獨立于運行在處理器110上的服務器操作系統(tǒng)113操作,并允許管理員使用系統(tǒng)管理軟件管理平臺100,甚至在缺乏可操作的操作系統(tǒng)的情況下。在一個實施例中,處理器Iio在服務器操作系統(tǒng)113的指導下操作,而平臺控制器/BMC 180提供了服務器操作系統(tǒng)113不能訪問的安全且隔離的環(huán)境。平臺控制器/BMC 180經由網絡控制器160和帶外通信信道171以通信方式耦合到企業(yè)服務170。帶外通信信道171使企業(yè)服務170能夠直接與平臺100硬件通信。根據本發(fā)明一個實施例,使用企業(yè)服務170,平臺控制器/BMC 180與用于配置和管理平臺諸如平臺100的企業(yè)級策略保持一致性,包括提供服務器平臺管理的服務。平臺管理服務182可實現為由平臺控制器/BMC 180執(zhí)行的固件。平臺管理服務182管理BIOS114、其它系統(tǒng)固件和服務器操作系統(tǒng)113。平臺控制器/BMC 180具有它自己的專用存儲器資源、平臺控制器(PC) RAM 184和PC閃存186,其包含BMC固件188以初始化平臺控制器/BMC 180。平臺控制器/BMC 180也可具有它自己的集成視頻控制器(未示出)。下面進一步參考圖2和3描述平臺管理服務182的操作連同平臺100的其它組件。再次參考圖1,芯片集120包含可管理性引擎(ME) 130,其可實現為嵌入式微處理器,該微處理器獨立于處理器110操作以管理平臺100的配置和操作。除了由平臺控制器/BMC 180提供的安全且隔離的環(huán)境,可管理性引擎(ME) 130也可提供服務器操作系統(tǒng)113不能訪問的安全且隔離的環(huán)境。在一個實施例中,可管理性引擎(ME) 130認證用戶,控制對外圍裝置的訪問,管理用于保護存儲在平臺100存儲裝置上的數據的加密密鑰,并經由網絡控制器160提供到企業(yè)服務170的接口。在本發(fā)明的實施例中,沒有物理平臺控制器/BMC 180,可管理性引擎(ME) 130可提供本文描述為由平臺控制器/BMC 180提供的功能性。在這種實施例中,可管理性引擎(ME) 130將使用它自己的內部資源來提供服務器平臺管理服務,諸如它自己的安全RAM(圖1中未示出)。這些內部資源例如可用于模擬USB虛擬驅動器,如下面參考圖2和3所進一步描述的那樣。再次參考圖1,ME 130與企業(yè)服務170之間的通信經由帶外通信信道171發(fā)生。在一個實施例中,帶外通信信道171是服務器系統(tǒng)上的可管理性引擎(ME) 130與管理服務器計算機系統(tǒng)的企業(yè)服務170之間的安全通信信道。在圖1所示的實施例中,可管理性引擎(ME) 130經由可管理性引擎控制器接口(MECI) 131耦合到I/O控制器140。在一個實施例中,I/O控制器140是執(zhí)行存儲命令解碼和其它加速操作的通用控制器。在示出的實施例中,可管理性引擎(ME) 130控制I/O控制器140的行為,控制器140又控制USB控制器150的行為。I/O控制器140顯示為經由互連181連接到平臺控制器/BMC 180。USB連接152將物理USB線從USB控制器150布線到平臺控制器/BMC 180,并且USB連接154將物理USB線從USB控制器150布線到可管理性引擎(ME) 130。USB連接152和154可用于模擬USB虛擬裝置,如下面參考圖2和3所進一步描述的。平臺100還包括存儲器裝置,諸如動態(tài)隨機存取存儲器(DRAM) 112、芯片集120內靜態(tài)隨機存取存儲器(SRAM) 122和閃速存儲器190。此外,如前面所提到的,平臺控制器/BMC 180具有它自己的存儲器裝置PC RAM 184和PC閃存186。這些存儲器裝置可包含隨機存取存儲器(RAM)和只讀存儲器(ROM)。為了本公開的目的,術語“ROM”一般可用于是指非易失性存儲器裝置,諸如可擦除可編程ROM (EPROM)、電可擦除可編程ROM (EEPROM)、閃速ROM、閃速存儲器等。其它存儲裝置(未示出)可包含大容量存儲裝置,諸如集成驅動電子(IDE)硬盤驅動器和/或其它裝置或介質,諸如軟盤、光存儲裝置、帶、閃速存儲器、內存條、數字視頻盤、生物存儲裝置等。閃速存儲器190可由芯片集120經由閃存接口 191訪問。可加密存儲在存儲器裝置DRAM 112,SRAM 122和閃速存儲器190中的數據。類似地,可加密存儲在PC RAM 184和PC閃存186中的數據。閃速存儲器190含有用于初始化平臺100的固件。這個初始化固件包含基本輸入/輸出系統(tǒng)(BIOS)固件192以標識并初始化系統(tǒng)組件硬件(諸如視頻顯示卡和硬盤)和一些其它硬件裝置,包括可管理性引擎(ME) 130。BIOS固件192準備平臺100的系統(tǒng)組件硬件以操作在已知低能力狀態(tài),因此存儲在各種介質上的其它軟件程序,包括操作系統(tǒng),可被加載、執(zhí)行并給出對平臺100的控制。BIOS固件192可包含B10S/ME通信模塊(未示出),其在引導過程期間實現可管理性引擎(ME) 130的初始配置。在一個實施例中,就在對于平臺100加載操作系統(tǒng)之前,可管理性引擎(ME) 130向B10S/ME通信模塊注冊以接收通知。這個通知使可管理性引擎(ME) 130能夠執(zhí)行某些指令,準備加載操作系統(tǒng)。閃速存儲器190還包含用以配置網絡控制器160的網絡控制器固件195和用以配置芯片集120的芯片集固件196。閃速存儲器190還含有數據區(qū)域198。在一個實施例中,數據區(qū)域198被加密,并且僅可由可管理性引擎(ME) 130讀取。由ME 130用于提供服務的信息可存儲在閃速存儲器190的數據區(qū)域198中。處理器110還可以通信方式耦合到附加組件,諸如視頻控制器、小計算機系統(tǒng)接口(SCSI)控制器、網絡控制器、通用串行總線(USB)控制器、輸入裝置諸如鍵盤和鼠標等。平臺100還可包含一個或多個橋或中心,諸如存儲器控制器中心、附加輸入/輸出(I/O)控制器中心、PIC根橋等,用于以通信方式耦合各種系統(tǒng)組件。本文所用的術語“總線”可用于是指共享通信通道以及點對點通道?!┙M件(諸如網絡控制器160)例如可實現為具有用于與總線通信的接口(例如PCI連接器)的適配器卡。在一個實施例中,使用組件諸如可編程或非可編程邏輯器件或陣列、專用集成電路(ASIC)、嵌入式計算機、智能卡等,一個或多個裝置可實現為嵌入式控制器。本文所用的術語“處理系統(tǒng)”和“數據處理系統(tǒng)”意圖廣義地涵蓋單個機器或一起操作的以通信方式耦合的機器或裝置的系統(tǒng)。示例處理系統(tǒng)包含但不限于分布式計算系統(tǒng)、超級計算機、高性能計算系統(tǒng)、計算群集、大型計算機、小型計算機、客戶端-服務器系統(tǒng)、個人計算機、工作站、服務器、便攜式計算機、膝上型計算機、平板、電話、個人數字助理(PDA)、手持裝置、娛樂裝置諸如音頻和/或視頻裝置以及用于處理或傳輸信息的其它裝置。平臺100可至少部分由來自常規(guī)輸入裝置諸如鍵盤、鼠標等的輸入和/或從另一機器接收的命令、生物反饋或其它輸入源或信號控制。平臺100可利用到一個或多個遠程數據處理系統(tǒng)的一個或多個連接,諸如通過網絡接口控制器(NIC) 160、調制解調器或其它通信端口或耦合。平臺100可通過物理和/或邏輯網絡諸如局域網(LAN)、廣域網(WAN)、內聯(lián)網、因特網等互連到其它處理系統(tǒng)(未示出)。涉及網絡的通信可利用各種有線和/或無線短程或長程載波和協(xié)議,包括射頻(RF)、衛(wèi)星、微波、電氣與電子工程師協(xié)會(IEEE)802.11、藍牙、光學、紅外、電纜、激光等。參考圖2,示出了根據本發(fā)明一個實施例的、用于提供安全服務器平臺管理服務的圖1系統(tǒng)組件的操作的流程圖。該過程開始于BIOS 214處理需要安全平臺管理服務的事件,諸如接收需要訪問由平臺控制器/BMC 280管理的程序或數據的I/O操作。例如,平臺控制器/BMC 280可通過將BIOS固件拷貝到安全存儲器諸如PC RAM 284和/或PC閃存286的未用部分中可得到一個新版本BIOS固件。平臺控制器/BMC 280然后可觸發(fā)I/O操作,該操作將使BIOS 214讀取新BIOS固件。為了接收平臺控制器/BMC 280的服務并確保操作系統(tǒng)213不會進行與平臺控制器/BMC 280的通信,BIOS 214使處理器210進入到系統(tǒng)管理模式(SMM)。BIOS 214向平臺控制器/BMC 280驗證處理器210已經進入SMM。BIOS 214與平臺控制器/BMC 280之間的通信僅發(fā)生在認證BIOS 214的證書時??赏ㄟ^在系統(tǒng)初始化時并在加載操作系統(tǒng)213之前交換信息來建立這些證書。這些證書可采取由平臺控制器/BMC 280提供給BIOS 214的隨機生成的標識符的形式,并且僅可用于單引導會話。其它形式的用戶名和密碼也可用于認證BIOS 214,并指示處理器210已經進入SMM。
響應于標識對于安全平臺管理服務的需要,在動作2.1,BIOS 214用進入系統(tǒng)管理模式(SMM)的請求并用用于認證目的的用戶名和密碼調用SMM處理機215。在一個實施例中,根據智能平臺管理接口(IPMI) SMM接口發(fā)出進入SMM的請求。在動作2.2,SMM處理機215調用平臺控制器/BMC 280,一并傳遞用戶名和密碼。在接收到用戶名和密碼時,平臺控制器/BMC 280認證調用器,這可根據IPMI認證接口執(zhí)行。如果認證調用器,則在動作2.3,平臺控制器/BMC 280開始使用PC RAM 284和PC閃存286的資源模擬USB虛擬驅動器202。在動作2.4,平臺控制器/BMC 280向SMM處理機215提供狀況信息,并在動作2.5,SMM處理機215將裝置狀況信息傳遞回BIOS 214。響應于裝置狀況信息,BIOS 214開始在與附于平臺控制器/BMC 280的物理USB端口相關聯(lián)的子系統(tǒng)中發(fā)現USB裝置。在動作
2.6,BIOS 214請求經由SMM處理機215訪問USB虛擬驅動器202。一旦BIOS 214已經與USB虛擬驅動器202建立了通信,在動作2.7,BIOS 214就使用正常USB命令以USB3.0速度(4吉比特/秒或有效傳送3.2吉比特/秒)經由SMM處理機215進行通信,將數據傳送到TSEG(或RAM的其它被保護且安全的部分、諸如圖1的DRAM 112)。一旦BIOS 214已經完成數據到存儲器的傳送,BIOS 214就向平臺控制器/BMC 280發(fā)送確認。響應于該確認,平臺控制器/BMC 280將裝置移出主機的可視范圍,主機包含操作系統(tǒng)213和SMM處理機215。BIOS 214然后將重新開始從SMM到主機域。因為所有數據處理都發(fā)生在處理器210處于SMM時,因此服務器操作系統(tǒng)113不了解USB虛擬裝置202和已經發(fā)生的通信。在另一實施例中,平臺控制器/BMC 180可在接收到來自圖1的企業(yè)服務170的指令時發(fā)起I/o操作。在這種情形下,平臺控制器/BMC 280將使系統(tǒng)進入SMM,向模擬的USB驅動器寫數據,并且然后通知BIOS 214讀取所提供的數據。參考圖3,示出了根據本發(fā)明一個實施例的、用于提供安全平臺管理服務的圖1的系統(tǒng)組件的操作的流程圖。圖3的操作將描述為由圖2的系統(tǒng)組件執(zhí)行。該過程開始于BIOS 214處理需要安全平臺管理服務的事件,諸如接收需要訪問由平臺控制器/BMC 280管理的程序或數據的1/0操作。在“BIOS要求訪問安全數據”步驟302,BIOS 214進行需要訪問安全平臺管理服務的確定??刂评^續(xù)到“BIOS進入SMM”步驟303,在此BIOS 214發(fā)出系統(tǒng)管理中斷(SMI)以使處理器210進入系統(tǒng)管理模式(SMM)??刂评^續(xù)到“BIOS經由SMM處理機向BMC發(fā)送請求”步驟304,在此BIOS 214發(fā)送訪問安全數據的請求??刂评^續(xù)到“BIOS經由SMM處理機向BMC發(fā)送認證”步驟306,在此BIOS 214向SMM處理機215發(fā)送認證信息,諸如用戶名和密碼。SMM處理機215向平臺控制器/BMC 280傳遞認證信息。在一個實施例中,根據IPMI認證接口提供認證請求??刂迫缓罄^續(xù)到“BMC驗證認證”步驟308,在此平臺控制器/BMC 280認證接收方。在執(zhí)行這個認證時,平臺控制器/BMC 280確認平臺100正操作在系統(tǒng)管理模式(SMM),并且該請求源自于連接到平臺控制器/BMC 280的通用1/0控制器(諸如1/0控制器240)。從“BMC驗證認證”步驟308,控制繼續(xù)到“BMC開始模擬USB驅動器”步驟310,在此平臺控制器/BMC 280開始模擬USB虛擬驅動器。在模擬USB驅動器時,平臺控制器/BMC280使用其資源PC RAM 284和PC閃存286內的自由空間為USB虛擬驅動器提供存儲器??刂迫缓罄^續(xù)到“BMC向BIOS聲明1/0事件”步驟312,在此平臺控制器/BMC 280經由SMM處理機215向BIOS 214聲明1/0事件。控制然后繼續(xù)到“BIOS列舉安全USB驅動器”步驟314。BIOS 214進一步列舉對它可見的裝置,其現在包含USB虛擬驅動器202。
控制然后繼續(xù)到“BIOS向/從安全存儲器傳送數據”步驟316,在此BIOS 214然后使用模擬USB虛擬驅動器202執(zhí)行I/O操作。當從USB虛擬驅動器完成I/O操作時,控制繼續(xù)到“BIOS確認BMC”步驟318,在此BIOS 214向平臺控制器/BMC 280確認I/O事件,指示BIOS 214已經完成I/O事件。當平臺控制器/BMC 280從BIOS 214接收到確認時,在“BMC停止模擬USB重定向驅動器”步驟320,平臺控制器/BMC 280停止模擬USB重定向驅動器。控制然后繼續(xù)到“BIOS處理(消費)數據并退出SMM”步驟322,在此BIOS 214處理和/或消費來自1/0操作的數據。例如,如果1/0操作遞送對BIOS固件的更新,則BIOS214可改寫圖1的閃速存儲器190中的BIOS固件192。備選地,BIOS 214可向其它存儲器寫數據,并隨后在不同系統(tǒng)管理中斷(SMI)下處理數據。當數據消費完成時,處理器210退出 SMM。用USB 3.0的高速帶寬,可遞送大有效載荷,同時仍符合操作系統(tǒng)系統(tǒng)管理中斷(SMI)超時限制。平臺控制器/BMC 280可托管操作系統(tǒng)更新、BIOS固件更新、診斷軟件以及其它系統(tǒng)固件更新,不考慮大小約束或BIOS更新進度??蓪崿F帶外BIOS更新和/或BIOS恢復。使用資源諸如平臺控制器/BMC 280的PC RAM 284存儲數據的另一個優(yōu)點是,數據將保留在PC RAM 284中,直到電力斷開,這對于服務器計算機系統(tǒng)很少發(fā)生。本文所公開的機制的實施例可以用硬件、軟件、固件或此類實現方法的組合來實現。本發(fā)明實施例可實現為在包括至少一個處理器、數據存儲系統(tǒng)(包含易失性和非易失性存儲器和/或存儲單元)、至少一個輸入裝置和至少一個輸出裝置的可編程系統(tǒng)上執(zhí)行的計算機程序。程序代碼可應用于輸入執(zhí)行本文描述的功能的數據并生成輸出信息。本發(fā)明實施例還包含機器可存取介質,其含有用于執(zhí)行本發(fā)明操作的指令,或含有設計數據諸如HDL,其定義本文描述的結構、電路、設備、處理器和/或系統(tǒng)特征。此類實施例也可稱為程序產
品O此類機器可存取存儲介質可包含但不限于由機器或裝置制造或形成的粒子的有形布置,包含存儲介質諸如硬盤,任何其它類型的盤、包括軟盤、光盤、壓縮盤只讀存儲器(CD-ROM)、壓縮盤可重寫(CD-RW)和磁光盤,半導體器件諸如只讀存儲器(ROM)、隨機存取存儲器(RAM)諸如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)隨機存取存儲器(SRAM)、可擦除可編程只讀存儲器(EPROM)、閃速可編程存儲器(FLASH)、電可擦除可編程只讀存儲器(EEPROM),磁卡或光卡或適合于存儲電子指令的任何其它類型的介質。輸出信息可以已知方式應用于一個或多個輸出裝置。為了本申請的目的,處理系統(tǒng)包含具有處理器諸如例如數字信號處理器(DSP)、微控制器、專用集成電路(ASIC)或微處理器的任何系統(tǒng)??捎酶呒壝嫦蜻^程或對象的編程語言實現程序以與處理系統(tǒng)通信。如果期望的話,也可用匯編或機器語言實現程序。實際上,本文描述的機制在范圍上不限于任何具體編程語言。在任何情況下,該語言都可以是編譯或翻譯的語言。本文給出的是管理服務器平臺的方法和系統(tǒng)的實施例。雖然已示出并描述了本發(fā)明的具體實施例,但對本領域技術人員將顯而易見的是,在不脫離所附權利要求書范圍的情況下可進行各種改變、變化和修改。從而,本領域技術人員將認識到,在其更廣泛方面不脫離本發(fā)明的情況下可進行改變和修改。所附權利要求書在它們的范圍內涵蓋了落入本發(fā)明真實范圍和精神內的所有此類改變、變化和修改。
權利要求
1.一種計算機實現的方法,包括: 在具有耦合到能夠生成系統(tǒng)管理中斷(SMI)的I/O控制器的平臺控制器的系統(tǒng)中,執(zhí)行如下操作: 響應于要求安全訪問數據的事件,生成SMI以使系統(tǒng)進入系統(tǒng)管理模式; 使用所述平臺控制器的資源創(chuàng)建模擬USB裝置,其中所述資源存儲所述數據; 經由所述系統(tǒng)的操作系統(tǒng)不可訪問的連接從所述模擬USB裝置拷貝所述數據;以及 在退出系統(tǒng)管理模式之前處理所述數據。
2.如權利要求1所述的方法,還包括: 當處于系統(tǒng)管理模式時認證所述數據的接收方。
3.如權利要求1所述的方法,其中: 所述平臺控制器是基板管理控制器。
4.如權利要求1所述的方法,其中: 所述平臺控制器由所述系統(tǒng)的芯片集的可管理性引擎提供。
5.如權利要求1所述的方法,還包括: 從企業(yè)服務器向所述模擬USB驅動器下載所述數據。
6.如權利要求1所述的方法,還包括: 在退出系統(tǒng)管理模式之前所述操作系統(tǒng)將所述模擬USB驅動器移出可視范圍。
7.如權利要求1所述的方法,其中: 響應于對訪問所述模擬USB裝置的請求,執(zhí)行使用所述平臺控制器的所述資源來創(chuàng)建所述模擬USB裝置。
8.一種系統(tǒng),包括: 處理器; 平臺控制器; I/O控制器,能夠生成系統(tǒng)管理中斷(SMI); 存儲器,耦合到所述處理器,所述存儲器包括用于執(zhí)行如下操作的指令: 響應于要求安全訪問數據的事件,生成SMI以使系統(tǒng)進入系統(tǒng)管理模式; 使用所述平臺控制器的資源創(chuàng)建模擬USB裝置,其中所述資源存儲所述數據; 經由所述系統(tǒng)的操作系統(tǒng)不可訪問的連接從所述模擬USB裝置拷貝所述數據;以及 在退出系統(tǒng)管理模式之前處理所述數據。
9.如權利要求8所述的系統(tǒng),其中所述指令還執(zhí)行如下操作:當處于系統(tǒng)管理模式時認證所述數據的接收方。
10.如權利要求8所述的系統(tǒng),其中 所述平臺控制器是基板管理控制器。
11.如權利要求8所述的系統(tǒng),其中 所述平臺控制器由所述系統(tǒng)的芯片集的可管理性引擎提供。
12.如權利要求8所述的系統(tǒng),其中所述指令還執(zhí)行如下操作:從企業(yè)服務器向所述模擬USB驅動器下載所述數據 。
13.如權利要求8所述的系統(tǒng),其中所述指令還執(zhí)行如下操作:在退出系統(tǒng)管理模式之前所述操作系統(tǒng)將所述模擬USB驅動器移出可視范圍。
14.如權利要求8所述的系統(tǒng),其中 響應于對訪問所述模擬USB裝置的請求,執(zhí)行使用所述平臺控制器的所述資源來創(chuàng)建所述模擬USB裝置。
15.一種計算機程序產品,包括: 計算機可讀存儲介質;以及 所述計算機可讀存儲介質中的指令,其中所述指令當在具有耦合到能夠生成系統(tǒng)管理中斷(SMI)的I/O控制器的平臺控制器的處理系統(tǒng)中執(zhí)行時,使所述處理系統(tǒng)執(zhí)行包括如下操作的操作: 響應于要求安全訪問數據的事件,生成SMI以使系統(tǒng)進入系統(tǒng)管理模式; 使用所述平臺控制 器的資源創(chuàng)建模擬USB裝置,其中所述資源存儲所述數據; 經由所述系統(tǒng)的操作系統(tǒng)不可訪問的連接從所述模擬USB裝置拷貝所述數據;以及 在退出系統(tǒng)管理模式之前處理所述數據。
16.如權利要求15所述的計算機程序產品,其中所述指令還執(zhí)行如下操作: 當處于系統(tǒng)管理模式時認證所述數據的接收方。
17.如權利要求15所述的計算機程序產品,其中 所述平臺控制器是基板管理控制器。
18.如權利要求15所述的計算機程序產品,其中 所述平臺控制器由所述系統(tǒng)的芯片集的可管理性引擎提供。
19.如權利要求15所述的計算機程序產品,其中所述指令還執(zhí)行如下操作: 從企業(yè)服務器向所述模擬USB驅動器下載所述數據。
20.如權利要求15所述的計算機程序產品,其中所述指令還執(zhí)行如下操作: 在退出系統(tǒng)管理模式之前所述操作系統(tǒng)將所述模擬USB驅動器移出可視范圍。
21.如權利要求15所述的計算機程序產品,其中 響應于對訪問所述模擬USB裝置的請求,執(zhí)行使用所述平臺控制器的所述資源來創(chuàng)建所述模擬USB裝置。
全文摘要
一種用于安全服務器系統(tǒng)管理的方法、設備、系統(tǒng)和計算機程序產品。在按需的安全I/O操作中分布含有系統(tǒng)軟件和/或固件更新的有效載荷。經由服務器操作系統(tǒng)不可訪問的安全通信信道對模擬USB驅動器執(zhí)行I/O操作。僅在認證有效載荷的接收方之后才為I/O操作建立安全通信信道,并且可保護有效載荷免于由潛在感染的服務器操作系統(tǒng)訪問。而且,可按需傳遞有效載荷,而不是依賴于BIOS更新進度,并且可以寫操作的速度向USB驅動器傳遞有效載荷。
文檔編號G06F9/455GK103119560SQ201180046973
公開日2013年5月22日 申請日期2011年9月30日 優(yōu)先權日2010年9月30日
發(fā)明者P.薩克蒂庫馬, R.C.斯萬森, M.A.羅思曼, M.布拉蘇, V.J.齊默 申請人:英特爾公司