CN103119560B - 用于服务处理器复合体中的数据存储的基于需求的usb代理 - Google Patents

用于服务处理器复合体中的数据存储的基于需求的usb代理 Download PDF

Info

Publication number
CN103119560B
CN103119560B CN201180046973.3A CN201180046973A CN103119560B CN 103119560 B CN103119560 B CN 103119560B CN 201180046973 A CN201180046973 A CN 201180046973A CN 103119560 B CN103119560 B CN 103119560B
Authority
CN
China
Prior art keywords
data
usb device
controller
platform controller
smm
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201180046973.3A
Other languages
English (en)
Other versions
CN103119560A (zh
Inventor
P.萨克蒂库马
R.C.斯万森
M.A.罗思曼
M.布拉苏
V.J.齐默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103119560A publication Critical patent/CN103119560A/zh
Application granted granted Critical
Publication of CN103119560B publication Critical patent/CN103119560B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一种用于安全服务器系统管理的方法、设备、系统和计算机程序产品。在按需的安全I/O操作中分布含有系统软件和/或固件更新的有效载荷。经由服务器操作系统不可访问的安全通信信道对模拟USB驱动器执行I/O操作。仅在认证有效载荷的接收方之后才为I/O操作建立安全通信信道,并且可保护有效载荷免于由潜在感染的服务器操作系统访问。而且,可按需传递有效载荷,而不是依赖于BIOS更新进度,并且可以写操作的速度向USB驱动器传递有效载荷。

Description

用于服务处理器复合体中的数据存储的基于需求的 USB 代理
版权声明
本文包含的是受到版权保护的材料。版权拥有者不反对任何人传真复制该专利公开,因为它出现在专利和商标局专利文件或记录中,但另一方面无论如何保留对版权的所有权利。
技术领域
本公开一般涉及计算环境的管理。
背景技术
随着因特网的无处不在,服务器计算机系统的使用已经激增了。服务器计算机系统经常通过网络向大组织内部的私人用户或经由因特网向公共用户提供必要服务。许多服务器已经致力于诸如万维网服务器、打印服务器和数据库服务器的功能性。一些公司在对它们商业功能操作关键的“服务器群”或“服务处理器复合体”中维护了成百乃至上千的服务器计算机系统。
企业服务器理想上是非常容错的,因为甚至短期故障也可比购买和安装系统成本更高。例如,在国家证券交易所可能仅几分钟停机时间就证明了用更可靠系统完全代替出故障系统的花费的合理性。为了提高可靠性,大多数服务器使用具有检错和纠错的存储器、冗余盘、冗余电源等。这种组件也是可频繁热插拔的,允许管理员将它们放在正在运行的服务器上,无需关闭服务器。因为服务器通常由有资格的工程师管理,因此服务器操作系统比用户友好性和使用方便性相比更多地为稳定性和性能进行调整,其中Linux操作系统比桌面计算机占明显更大的百分比。必须以安全方式并且尽可能快地执行对服务器操作系统、基本输入/输出系统(BIOS)固件和其它系统固件的更新。
附图说明
图1是根据本发明一个实施例的、配置成实现安全服务器平台管理的平台的框图;
图2是示出根据本发明一个实施例的、提供安全服务器平台管理服务中图1的系统组件的操作的流程图;
图3是根据本发明一个实施例的、提供安全服务器平台管理服务中图1的系统组件的操作的流程图。
具体实施方式
更新服务器操作系统软件和/或BIOS以及其它系统固件的当前机制局限于将有效载荷嵌入在BIOS固件内,BIOS固件在已经加载了操作系统之后从闪速存储器或硬盘驱动器分区加载。这些更新通常发生在系统处于系统管理模式(SMM)时,该模式是计算机系统的操作模式,首先与英特尔386SL一起发布并在随后英特尔架构中的后续微处理器中可用。在SMM期间,所有正常执行(包括操作系统)都停止,并且在高特权模式执行特殊的独立软件(通常是固件或硬件辅助的调试器)。SMM提供隔离的存储器和执行环境,并且SMM代码对操作系统不可见,仍保持对主物理存储器的完全存取和对外围硬件的完全控制。
SMM通常用于配置系统;处理系统事件,诸如存储器或芯片集错误;执行系统安全功能,诸如在达到高CPU温度时关闭;执行功率管理操作,诸如打开风扇;以及模拟硬件。传统上,进入SMM以对系统管理中断提供服务,并且然后重新开始程序执行(回到包含执行和应用软件的软件栈)。通常,基本输入/输出系统(BIOS)不约束处于SMM时的系统操作。
BIOS固件通常被加载到闪速存储器装置上,闪速存储器装置具有有限的空间,其大小随系统而改变。嵌入还改变到系统软件或固件,因为BIOS固件内或硬盘驱动器分区中的有效载荷因此需要约束有效载荷的大小。而且,因为有效载荷一旦加载了就可由服务器操作系统读取,因此有效载荷可暴露于已经被病毒感染的服务器操作系统,存在安全风险。一个可能的解决方案是提供有效载荷的签名版本;然而,在SMM中,必须在用于处理单个系统管理中断的时间约束下执行验证签名和读取有效载荷。这些时间约束还限制了分布含有服务器系统的系统软件和/或固件更新的有效载荷的能力。
克服这些约束的所提出的解决方案是,在按需的安全I/O操作中分布含有服务器系统的系统软件和/或固件更新的有效载荷。经由服务器操作系统不可访问的安全通信信道从模拟USB驱动器执行I/O操作。使用平台控制器RAM和/或闪速存储器模拟USB驱动器。
有效载荷可以是任何大小,而不是将有效载荷嵌入在BIOS固件中并受到闪速存储器的大小限制或将有效载荷放到有限大小的硬盘驱动器分区中。有效载荷可含有操作系统软件、BIOS映像、诊断软件和/或统一可扩展固件接口(UEFI)模块。仅在认证有效载荷的接收方之后才为I/O操作建立安全通信信道,并且可保护有效载荷免于由潜在感染的服务器操作系统访问。而且,可按需传递有效载荷,而不是依赖于BIOS更新进度,并且可以写操作的速度向USB驱动器传递有效载荷。
本发明的实施例可提供一种方法、设备、系统和计算机程序产品,用于安全管理服务器平台,包括提供对服务器计算机系统的BIOS、其它系统固件和操作系统的更新。在一个实施例中,方法包括在具有耦合到能够生成系统管理中断(SMI)的I/O控制器的平台控制器的系统中,执行如下操作:响应于要求安全访问数据的事件,生成SMI以使系统进入系统管理模式;使用所述平台控制器的资源创建模拟USB装置,其中所述资源存储所述数据;经由所述系统的操作系统不可访问的连接从所述模拟USB装置拷贝所述数据;以及在退出系统管理模式之前处理所述数据。该方法还可包括当处于系统管理模式时认证所述数据的接收方。该方法还可包括平台控制器向I/O控制器声明I/O事件。该方法还可包括I/O控制器经由I/O事件接收数据。在一个实施例中,平台控制器是基板管理控制器。在另一实施例中,平台控制器由系统的芯片集的可管理性引擎提供。在一个实施例中,该方法还包括从企业服务器向模拟USB驱动器下载数据。该方法还可包括在系统退出系统管理模式之前操作系统将模拟USB驱动器移出可视范围。还提供了用于执行该方法的系统和具有用于执行该方法的指令的计算机程序产品。
说明书中提到本发明的“一个实施例”或“实施例”是指结合该实施例描述的具体特征、结构或特性包含在本发明的至少一个实施例中。由此,在整个说明书各处出现的短语“在一个实施例中”、“根据一个实施例”等不一定都指的是同一实施例。
为了说明目的,阐述了特定配置和细节以便提供对本发明的全面理解。然而,对本领域技术人员将显而易见的是,可在没有本文给出的特定细节的情况下实施本发明的实施例。而且,可省略或简化众所周知的特征以免使本发明模糊不清。在整个说明书中给出了各种示例。这些只是本发明特定实施例的描述。本发明的范围不限于给出的示例。
本文使用术语“带外”来描述独立于主流的通信,诸如独立于客户端装置的操作系统(OS)进行的、在服务器装置与客户端装置的管理模块之间的通信。在此说明书中,客户端装置可以是服务器计算机系统,而服务器装置可以是运行在另一企业管理服务器系统上的企业管理模块。
图1是根据本发明一个实施例的、配置成实现BIOS和其它系统固件以及服务器操作系统的安全系统管理的平台的框图。对应于服务器计算机系统的平台100包含经由桌面管理接口(DMI) 111连接到芯片集120的处理器110。处理器110向平台100提供处理能力,并且可以是单核或多核处理器,并且在平台100中可包含多于一个处理器。处理器110可经由一个或多个系统总线、通信通道或介质(未示出)连接到平台100的其它组件。通过加载并运行基本输入/输出系统(BIOS) 114可初始化处理器110,其然后可加载服务器操作系统113。在操作期间,处理器110可最终进入系统管理模式(SMM)。调用SMM处理机115以进入SMM。在SMM期间,所有正常执行(包括操作系统113)都停止,并且在高特权模式执行特殊的独立软件(通常是固件或硬件辅助的调试器)。SMM提供隔离的存储器和执行环境,并且SMM代码对服务器操作系统113不可见,仍保持对主物理存储器的全存取和对外围硬件的完全控制。
再次参考图1,平台控制器/BMC 180提供了用以管理企业服务170与平台硬件之间的带外(out-of-band)接口的逻辑。例如,根据智能平台管理接口(IPMI)架构,可由基板管理控制器(BMC)提供平台控制器/BMC 180。带外接口诸如IPMI独立于运行在处理器110上的服务器操作系统113操作,并允许管理员使用系统管理软件管理平台100,甚至在缺乏可操作的操作系统的情况下。在一个实施例中,处理器110在服务器操作系统113的指导下操作,而平台控制器/BMC 180提供了服务器操作系统113不能访问的安全且隔离的环境。平台控制器/BMC 180经由网络控制器160和带外通信信道171以通信方式耦合到企业服务170。带外通信信道171使企业服务170能够直接与平台100硬件通信。
根据本发明一个实施例,使用企业服务170,平台控制器/BMC 180与用于配置和管理平台诸如平台100的企业级策略保持一致性,包括提供服务器平台管理的服务。平台管理服务182可实现为由平台控制器/BMC 180执行的固件。平台管理服务182管理BIOS 114、其它系统固件和服务器操作系统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提供的安全且隔离的环境,可管理性引擎(ME)130也可提供服务器操作系统113不能访问的安全且隔离的环境。在一个实施例中,可管理性引擎(ME)130认证用户,控制对外围装置的访问,管理用于保护存储在平台100存储装置上的数据的加密密钥,并经由网络控制器160提供到企业服务170的接口。
在本发明的实施例中,没有物理平台控制器/BMC 180,可管理性引擎(ME)130可提供本文描述为由平台控制器/BMC 180提供的功能性。在这种实施例中,可管理性引擎(ME)130将使用它自己的内部资源来提供服务器平台管理服务,诸如它自己的安全RAM(图1中未示出)。这些内部资源例如可用于模拟USB虚拟驱动器,如下面参考图2和3所进一步描述的那样。
再次参考图1,ME 130与企业服务170之间的通信经由带外通信信道171发生。在一个实施例中,带外通信信道171是服务器系统上的可管理性引擎(ME)130与管理服务器计算机系统的企业服务170之间的安全通信信道。
在图1所示的实施例中,可管理性引擎(ME)130经由可管理性引擎控制器接口(MECI)131耦合到I/O控制器140。在一个实施例中,I/O控制器140是执行存储命令解码和其它加速操作的通用控制器。在示出的实施例中,可管理性引擎(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还包括存储器装置,诸如动态随机存取存储器(DRAM)112、芯片集120内静态随机存取存储器(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的固件。这个初始化固件包含基本输入/输出系统(BIOS)固件192以标识并初始化系统组件硬件(诸如视频显示卡和硬盘)和一些其它硬件装置,包括可管理性引擎(ME)130。BIOS固件192准备平台100的系统组件硬件以操作在已知低能力状态,因此存储在各种介质上的其它软件程序,包括操作系统,可被加载、执行并给出对平台100的控制。BIOS固件192可包含BIOS/ME通信模块(未示出),其在引导过程期间实现可管理性引擎(ME) 130的初始配置。在一个实施例中,就在对于平台100加载操作系统之前,可管理性引擎(ME)130向BIOS/ME通信模块注册以接收通知。这个通知使可管理性引擎(ME)130能够执行某些指令,准备加载操作系统。
闪速存储器190还包含用以配置网络控制器160的网络控制器固件195和用以配置芯片集120的芯片集固件196。闪速存储器190还含有数据区域198。在一个实施例中,数据区域198被加密,并且仅可由可管理性引擎(ME)130读取。由ME 130用于提供服务的信息可存储在闪速存储器190的数据区域198中。
处理器110还可以通信方式耦合到附加组件,诸如视频控制器、小计算机系统接口(SCSI)控制器、网络控制器、通用串行总线(USB)控制器、输入装置诸如键盘和鼠标等。平台100还可包含一个或多个桥或中心,诸如存储器控制器中心、附加输入/输出(I/O)控制器中心、PIC根桥等,用于以通信方式耦合各种系统组件。本文所用的术语“总线”可用于是指共享通信通道以及点对点通道。
一些组件(诸如网络控制器160)例如可实现为具有用于与总线通信的接口(例如PCI连接器)的适配器卡。在一个实施例中,使用组件诸如可编程或非可编程逻辑器件或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等,一个或多个装置可实现为嵌入式控制器。
本文所用的术语“处理系统”和“数据处理系统”意图广义地涵盖单个机器或一起操作的以通信方式耦合的机器或装置的系统。示例处理系统包含但不限于分布式计算系统、超级计算机、高性能计算系统、计算群集、大型计算机、小型计算机、客户端-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、平板、电话、个人数字助理(PDA)、手持装置、娱乐装置诸如音频和/或视频装置以及用于处理或传输信息的其它装置。
平台100可至少部分由来自常规输入装置诸如键盘、鼠标等的输入和/或从另一机器接收的命令、生物反馈或其它输入源或信号控制。平台100可利用到一个或多个远程数据处理系统的一个或多个连接,诸如通过网络接口控制器(NIC)160、调制解调器或其它通信端口或耦合。
平台100可通过物理和/或逻辑网络诸如局域网(LAN)、广域网(WAN)、内联网、因特网等互连到其它处理系统(未示出)。涉及网络的通信可利用各种有线和/或无线短程或长程载波和协议,包括射频(RF)、卫星、微波、电气与电子工程师协会(IEEE)802.11、蓝牙、光学、红外、电缆、激光等。
参考图2,示出了根据本发明一个实施例的、用于提供安全服务器平台管理服务的图1系统组件的操作的流程图。该过程开始于BIOS 214处理需要安全平台管理服务的事件,诸如接收需要访问由平台控制器/BMC 280管理的程序或数据的I/O操作。例如,平台控制器/BMC 280可通过将BIOS固件拷贝到安全存储器诸如PC RAM 284和/或PC闪存286的未用部分中可得到一个新版本BIOS固件。平台控制器/BMC 280然后可触发I/O操作,该操作将使BIOS 214读取新BIOS固件。
为了接收平台控制器/BMC 280的服务并确保操作系统213不会进行与平台控制器/BMC 280的通信,BIOS 214使处理器210进入到系统管理模式(SMM)。BIOS 214向平台控制器/BMC 280验证处理器210已经进入SMM。BIOS 214与平台控制器/BMC 280之间的通信仅发生在认证BIOS 214的证书时。可通过在系统初始化时并在加载操作系统213之前交换信息来建立这些证书。这些证书可采取由平台控制器/BMC 280提供给BIOS 214的随机生成的标识符的形式,并且仅可用于单引导会话。其它形式的用户名和密码也可用于认证BIOS 214,并指示处理器210已经进入SMM。
响应于标识对于安全平台管理服务的需要,在动作2.1,BIOS 214用进入系统管理模式(SMM)的请求并用用于认证目的的用户名和密码调用SMM处理机215。在一个实施例中,根据智能平台管理接口(IPMI) SMM接口发出进入SMM的请求。在动作2.2,SMM处理机215调用平台控制器/BMC 280,一并传递用户名和密码。在接收到用户名和密码时,平台控制器/BMC 280认证调用器,这可根据IPMI认证接口执行。如果认证调用器,则在动作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端口相关联的子系统中发现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发送确认。响应于该确认,平台控制器/BMC 280将装置移出主机的可视范围,主机包含操作系统213和SMM处理机215。BIOS 214然后将重新开始从SMM到主机域。因为所有数据处理都发生在处理器210处于SMM时,因此服务器操作系统113不了解USB虚拟装置202和已经发生的通信。
在另一实施例中,平台控制器/BMC 180可在接收到来自图1的企业服务170的指令时发起I/O操作。在这种情形下,平台控制器/BMC 280将使系统进入SMM,向模拟的USB驱动器写数据,并且然后通知BIOS 214读取所提供的数据。
参考图3,示出了根据本发明一个实施例的、用于提供安全平台管理服务的图1的系统组件的操作的流程图。图3的操作将描述为由图2的系统组件执行。该过程开始于BIOS 214处理需要安全平台管理服务的事件,诸如接收需要访问由平台控制器/BMC 280管理的程序或数据的I/O操作。在“BIOS要求访问安全数据”步骤302,BIOS 214进行需要访问安全平台管理服务的确定。控制继续到“BIOS进入SMM”步骤303,在此BIOS 214发出系统管理中断(SMI)以使处理器210进入系统管理模式(SMM)。
控制继续到“BIOS经由SMM处理机向BMC发送请求”步骤304,在此BIOS 214发送访问安全数据的请求。控制继续到“BIOS经由SMM处理机向BMC发送认证”步骤306,在此BIOS 214向SMM处理机215发送认证信息,诸如用户名和密码。SMM处理机215向平台控制器/BMC 280传递认证信息。在一个实施例中,根据IPMI认证接口提供认证请求。控制然后继续到“BMC验证认证”步骤308,在此平台控制器/BMC 280认证接收方。在执行这个认证时,平台控制器/BMC 280确认平台100正操作在系统管理模式(SMM),并且该请求源自于连接到平台控制器/BMC 280的通用I/O控制器(诸如I/O控制器240)。
从“BMC验证认证”步骤308,控制继续到“BMC开始模拟USB驱动器”步骤310,在此平台控制器/BMC 280开始模拟USB虚拟驱动器。在模拟USB驱动器时,平台控制器/BMC 280使用其资源PC RAM 284和PC闪存286内的自由空间为USB虚拟驱动器提供存储器。
控制然后继续到“BMC向BIOS声明I/O事件”步骤312,在此平台控制器/BMC 280经由SMM处理机215向BIOS 214声明I/O事件。控制然后继续到“BIOS列举安全USB驱动器”步骤314。BIOS 214进一步列举对它可见的装置,其现在包含USB虚拟驱动器202。
控制然后继续到“BIOS向/从安全存储器传送数据”步骤316,在此BIOS 214然后使用模拟USB虚拟驱动器202执行I/O操作。当从USB虚拟驱动器完成I/O操作时,控制继续到“BIOS确认BMC”步骤318,在此BIOS 214向平台控制器/BMC 280确认I/O事件,指示BIOS 214已经完成I/O事件。当平台控制器/BMC 280从BIOS 214接收到确认时,在“BMC停止模拟USB重定向驱动器”步骤320,平台控制器/BMC 280停止模拟USB重定向驱动器。控制然后继续到“BIOS处理(消费)数据并退出SMM”步骤322,在此BIOS 214处理和/或消费来自I/O操作的数据。例如,如果I/O操作递送对BIOS固件的更新,则BIOS 214可改写图1的闪速存储器190中的BIOS固件192。备选地,BIOS 214可向其它存储器写数据,并随后在不同系统管理中断(SMI)下处理数据。当数据消费完成时,处理器210退出SMM。
用USB 3.0的高速带宽,可递送大有效载荷,同时仍符合操作系统系统管理中断(SMI)超时限制。平台控制器/BMC 280可托管操作系统更新、BIOS固件更新、诊断软件以及其它系统固件更新,不考虑大小约束或BIOS更新进度。可实现带外BIOS更新和/或BIOS恢复。
使用资源诸如平台控制器/BMC 280的PC RAM 284存储数据的另一个优点是,数据将保留在PC RAM 284中,直到电力断开,这对于服务器计算机系统很少发生。
本文所公开的机制的实施例可以用硬件、软件、固件或此类实现方法的组合来实现。本发明实施例可实现为在包括至少一个处理器、数据存储系统(包含易失性和非易失性存储器和/或存储单元)、至少一个输入装置和至少一个输出装置的可编程系统上执行的计算机程序。
程序代码可应用于输入执行本文描述的功能的数据并生成输出信息。本发明实施例还包含机器可存取介质,其含有用于执行本发明操作的指令,或含有设计数据诸如HDL,其定义本文描述的结构、电路、设备、处理器和/或系统特征。此类实施例也可称为程序产品。
此类机器可存取存储介质可包含但不限于由机器或装置制造或形成的粒子的有形布置,包含存储介质诸如硬盘,任何其它类型的盘、包括软盘、光盘、压缩盘只读存储器(CD-ROM)、压缩盘可重写(CD-RW)和磁光盘,半导体器件诸如只读存储器(ROM)、随机存取存储器(RAM)诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)、可擦除可编程只读存储器(EPROM)、闪速可编程存储器(FLASH)、电可擦除可编程只读存储器(EEPROM),磁卡或光卡或适合于存储电子指令的任何其它类型的介质。
输出信息可以已知方式应用于一个或多个输出装置。为了本申请的目的,处理系统包含具有处理器诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器的任何系统。
可用高级面向过程或对象的编程语言实现程序以与处理系统通信。如果期望的话,也可用汇编或机器语言实现程序。实际上,本文描述的机制在范围上不限于任何具体编程语言。在任何情况下,该语言都可以是编译或翻译的语言。
本文给出的是管理服务器平台的方法和系统的实施例。虽然已示出并描述了本发明的具体实施例,但对本领域技术人员将显而易见的是,在不脱离所附权利要求书范围的情况下可进行各种改变、变化和修改。从而,本领域技术人员将认识到,在其更广泛方面不脱离本发明的情况下可进行改变和修改。所附权利要求书在它们的范围内涵盖了落入本发明真实范围和精神内的所有此类改变、变化和修改。

Claims (21)

1.一种计算机实现的方法,包括:
在具有耦合到能够生成系统管理中断(SMI)的I/O控制器的平台控制器的系统中,执行如下操作:
响应于要求安全访问数据的事件,生成SMI以使系统进入系统管理模式;
使用所述平台控制器的资源创建模拟USB装置,其中所述资源存储所述数据;
经由所述系统的操作系统不可访问的连接从所述模拟USB装置拷贝所述数据;以及
在退出系统管理模式之前处理所述数据。
2.如权利要求1所述的方法,还包括:
当处于系统管理模式时认证所述数据的接收方。
3.如权利要求1所述的方法,其中:
所述平台控制器是基板管理控制器。
4.如权利要求1所述的方法,其中:
所述平台控制器由所述系统的芯片集的可管理性引擎提供。
5.如权利要求1所述的方法,还包括:
从企业服务器向所述模拟USB装置下载所述数据。
6.如权利要求1所述的方法,还包括:
在退出系统管理模式之前所述操作系统将所述模拟USB装置移出可视范围。
7.如权利要求1所述的方法,其中:
响应于对访问所述模拟USB装置的请求,执行使用所述平台控制器的所述资源来创建所述模拟USB装置。
8.一种计算环境管理系统,包括:
处理器;
平台控制器;
I/O控制器,能够生成系统管理中断(SMI);
存储器,耦合到所述处理器,所述存储器包括用于执行如下操作的指令:
响应于要求安全访问数据的事件,生成SMI以使系统进入系统管理模式;
使用所述平台控制器的资源创建模拟USB装置,其中所述资源存储所述数据;
经由所述系统的操作系统不可访问的连接从所述模拟USB装置拷贝所述数据;以及
在退出系统管理模式之前处理所述数据。
9.如权利要求8所述的系统,其中所述指令还执行如下操作:当处于系统管理模式时认证所述数据的接收方。
10.如权利要求8所述的系统,其中
所述平台控制器是基板管理控制器。
11.如权利要求8所述的系统,其中
所述平台控制器由所述系统的芯片集的可管理性引擎提供。
12.如权利要求8所述的系统,其中所述指令还执行如下操作:从企业服务器向所述模拟USB装置下载所述数据。
13.如权利要求8所述的系统,其中所述指令还执行如下操作:在退出系统管理模式之前所述操作系统将所述模拟USB装置移出可视范围。
14.如权利要求8所述的系统,其中
响应于对访问所述模拟USB装置的请求,执行使用所述平台控制器的所述资源来创建所述模拟USB装置。
15.一种计算环境管理产品,包括:
在具有耦合到能够生成系统管理中断(SMI)的I/O控制器的平台控制器的处理系统中,使所述处理系统包括:
用于响应于要求安全访问数据的事件,生成SMI以使系统进入系统管理模式的部件;
用于使用所述平台控制器的资源创建模拟USB装置的部件,其中所述资源存储所述数据;
用于经由所述系统的操作系统不可访问的连接从所述模拟USB装置拷贝所述数据的部件;以及
用于在退出系统管理模式之前处理所述数据的部件。
16.如权利要求15所述的产品,其中所述处理系统还包括:
用于当处于系统管理模式时认证所述数据的接收方的部件。
17.如权利要求15所述的产品,其中
所述平台控制器是基板管理控制器。
18.如权利要求15所述的产品,其中
所述平台控制器由所述系统的芯片集的可管理性引擎提供。
19.如权利要求15所述的产品,其中所述处理系统还包括:
从企业服务器向所述模拟USB装置下载所述数据。
20.如权利要求15所述的产品,其中所述处理系统还包括:
用于在退出系统管理模式之前所述操作系统将所述模拟USB装置移出可视范围的部件。
21.如权利要求15所述的产品,其中
用于创建模拟USB装置的部件响应于对访问所述模拟USB装置的请求,执行使用所述平台控制器的所述资源来创建所述模拟USB装置。
CN201180046973.3A 2010-09-30 2011-09-30 用于服务处理器复合体中的数据存储的基于需求的usb代理 Expired - Fee Related CN103119560B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/894876 2010-09-30
US12/894,876 US8428929B2 (en) 2010-09-30 2010-09-30 Demand based USB proxy for data stores in service processor complex
PCT/US2011/054419 WO2012045038A1 (en) 2010-09-30 2011-09-30 Demand based usb proxy for data stores in service processor complex

Publications (2)

Publication Number Publication Date
CN103119560A CN103119560A (zh) 2013-05-22
CN103119560B true CN103119560B (zh) 2016-09-21

Family

ID=45890843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180046973.3A Expired - Fee Related CN103119560B (zh) 2010-09-30 2011-09-30 用于服务处理器复合体中的数据存储的基于需求的usb代理

Country Status (8)

Country Link
US (2) US8428929B2 (zh)
EP (1) EP2622533B1 (zh)
JP (2) JP5715256B2 (zh)
KR (1) KR101453266B1 (zh)
CN (1) CN103119560B (zh)
SG (1) SG188991A1 (zh)
TW (1) TWI530872B (zh)
WO (1) WO2012045038A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
US9208047B2 (en) * 2010-10-16 2015-12-08 Hewlett-Packard Development Company, L.P. Device hardware agent
CN102479166A (zh) * 2010-11-26 2012-05-30 鸿富锦精密工业(深圳)有限公司 共享串口的系统及方法
TWI607376B (zh) * 2011-04-08 2017-12-01 系微股份有限公司 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
WO2013067486A1 (en) * 2011-11-04 2013-05-10 Insyde Software Corp. Secure boot administration in a unified extensible firmware interface (uefi)- compliant computing device
US8904507B2 (en) * 2011-11-29 2014-12-02 American Megatrends, Inc. System and method for controlling user access to a service processor
US20130297718A1 (en) * 2012-05-07 2013-11-07 Samsung Electronics Co., Ltd. Server device, client device, data sharing system and method for sharing data between client device and server device thereof
US8972969B2 (en) * 2012-06-08 2015-03-03 Adobe Systems Incorporated Out of band services updates
US20140123100A1 (en) * 2012-10-29 2014-05-01 Jump Soft A.S. System and method for implementing information systems
US9043776B2 (en) * 2012-10-31 2015-05-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Transferring files to a baseboard management controller (‘BMC’) in a computing system
TWI478538B (zh) * 2012-11-28 2015-03-21 Inventec Corp 伺服器系統
US9047263B2 (en) 2013-01-24 2015-06-02 Dell Products L.P. System and method for secure SMI memory services
WO2014143040A1 (en) * 2013-03-15 2014-09-18 American Megatrends, Inc System and method of web-based virtual media redirection
US9477848B2 (en) * 2013-03-15 2016-10-25 Insyde Software Corp. System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (UEFI)-compliant firmware
US9304783B2 (en) * 2013-05-09 2016-04-05 American Megatrends, Inc. Digital signage management and content delivery system and method thereof
US9235710B2 (en) * 2013-05-23 2016-01-12 Cisco Technology, Inc. Out of band management of basic input/output system secure boot variables
CN104424405B (zh) * 2013-09-09 2017-12-29 联想(北京)有限公司 一种信息处理方法和装置
CN104516800B (zh) 2013-09-27 2018-12-21 联想企业方案(新加坡)有限公司 服务器主板诊断的方法、系统和相关电路系统
US8910283B1 (en) 2013-11-21 2014-12-09 Kaspersky Lab Zao Firmware-level security agent supporting operating system-level security in computer system
JP2015114841A (ja) * 2013-12-11 2015-06-22 富士通株式会社 情報処理装置、制御プログラム、及びデータ移動方法
US9311504B2 (en) 2014-06-23 2016-04-12 Ivo Welch Anti-identity-theft method and hardware database device
US10360051B2 (en) * 2014-12-22 2019-07-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
US9910664B2 (en) * 2015-05-04 2018-03-06 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (BMC) devices
US10097534B2 (en) * 2015-08-28 2018-10-09 Dell Products L.P. System and method to redirect hardware secure USB storage devices in high latency VDI environments
US10749858B2 (en) 2015-09-04 2020-08-18 Hewlett Packard Enterprise Development Lp Secure login information
CN105160258B (zh) * 2015-09-21 2018-10-02 苏州中太服务器有限公司 一种防止用户非法修改os的方法
CN105808468B (zh) * 2016-03-21 2021-09-14 联想(北京)有限公司 一种控制方法、视频控制器及控制系统
US10120740B2 (en) * 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10331434B2 (en) * 2016-12-21 2019-06-25 Quanta Computer Inc. System and method for remotely updating firmware
US10824437B1 (en) * 2017-04-27 2020-11-03 American Megatrends International, Llc Platform management for computing systems without baseboard management controllers
CN107025094A (zh) * 2017-05-16 2017-08-08 郑州云海信息技术有限公司 一种数据读写管理方法及系统
EP3454216B1 (en) * 2017-09-08 2020-11-18 Nxp B.V. Method for protecting unauthorized data access from a memory
KR102320313B1 (ko) * 2017-11-16 2021-11-02 한국전자기술연구원 서버 메인보드 제어를 위한 통합 bsp 활용 방법
US11120136B1 (en) * 2018-06-06 2021-09-14 Amazon Technologies, Inc. Managing system firmware
US10452386B1 (en) * 2018-07-19 2019-10-22 American Megatrends International, Llc Non-destructive update of discrete components of firmware
US11137995B2 (en) * 2019-02-13 2021-10-05 International Business Machines Corporation Updating firmware of a microcontroller
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US11023220B2 (en) * 2019-09-26 2021-06-01 Dell Products L.P. Firmware update with integrated smart sequence and action engine
US11137994B2 (en) 2019-11-08 2021-10-05 Microsoft Technology Licensing, Llc Baseboard management controller firmware update
CN113810209B (zh) * 2020-06-12 2024-03-22 戴尔产品有限公司 通过带外信道进行的服务器初始配置
US11354259B1 (en) 2020-12-08 2022-06-07 Hewlett Packard Enterprise Development Lp Computer system configurations based on accessing data elements presented by baseboard management controllers
US11416233B1 (en) * 2021-04-21 2022-08-16 Dell Products, L.P. Software upgrade system and method for a baseboard management controller configured in an information handling system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1072975A2 (en) * 1999-07-27 2001-01-31 Compaq Computer Corporation Virus resistant and hardware independent method of flashing computer system bios
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
CN1702636A (zh) * 2004-05-28 2005-11-30 国际商业机器公司 虚拟usb通信端口
CN101281572A (zh) * 2007-04-03 2008-10-08 惠普开发有限公司 Usb端口访问管理

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
DE10027084C2 (de) 2000-05-31 2002-07-18 Honda Motor Co Ltd Leitschaufel und Leitschaufelkaskade für einen Axialverdichter
JP3561211B2 (ja) * 2000-06-27 2004-09-02 株式会社東芝 情報処理装置および不揮発性記憶装置の書き換え制御方法
TW515959B (en) * 2001-05-10 2003-01-01 Via Tech Inc Method for memory data access by system management interrupt and computer system thereof
US6848046B2 (en) * 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
JP3702233B2 (ja) * 2002-02-21 2005-10-05 株式会社東芝 情報処理システムおよびプログラム実行モード制御方法
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US7752428B2 (en) 2005-03-31 2010-07-06 Intel Corporation System and method for trusted early boot flow
US7555676B2 (en) 2005-07-18 2009-06-30 Dell Products L.P. Systems and methods for providing remotely accessible in-system emulation and/or debugging
US7546487B2 (en) 2005-09-15 2009-06-09 Intel Corporation OS and firmware coordinated error handling using transparent firmware intercept and firmware services
US7712145B2 (en) * 2006-03-30 2010-05-04 Intel Corporation Chipset configuration authentication via manageability engine
JP2007280261A (ja) * 2006-04-11 2007-10-25 Silex Technology Inc ネットワーク上の機器を共有可能とする可搬型仮想記憶装置
US7660937B2 (en) * 2006-06-28 2010-02-09 Hewlett-Packard Development Company, L.P. Emulating a USB host controller
EP1933257B1 (en) * 2006-12-12 2013-02-27 Agfa Graphics N.V. Method to reduce unprinted substrate waste during digital printing
JP2008287505A (ja) * 2007-05-17 2008-11-27 Toshiba Corp 情報処理装置およびレガシーエミュレーション処理停止制御方法
JP2011197702A (ja) * 2008-07-14 2011-10-06 Victor Co Of Japan Ltd データ書き込み方法、及びデータ書き込み装置
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
WO2010134902A1 (en) * 2009-05-18 2010-11-25 Hewlett-Packard Development Company, L.P. Systems and methods of determining a trust level from system management mode
US8566613B2 (en) * 2010-06-11 2013-10-22 Intel Corporation Multi-owner deployment of firmware images
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1072975A2 (en) * 1999-07-27 2001-01-31 Compaq Computer Corporation Virus resistant and hardware independent method of flashing computer system bios
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
CN1702636A (zh) * 2004-05-28 2005-11-30 国际商业机器公司 虚拟usb通信端口
CN101281572A (zh) * 2007-04-03 2008-10-08 惠普开发有限公司 Usb端口访问管理

Also Published As

Publication number Publication date
JP5860504B2 (ja) 2016-02-16
TW201220194A (en) 2012-05-16
KR20130058058A (ko) 2013-06-03
JP5715256B2 (ja) 2015-05-07
CN103119560A (zh) 2013-05-22
TWI530872B (zh) 2016-04-21
SG188991A1 (en) 2013-05-31
US20130218551A1 (en) 2013-08-22
JP2013537335A (ja) 2013-09-30
KR101453266B1 (ko) 2014-10-22
WO2012045038A1 (en) 2012-04-05
US20120084552A1 (en) 2012-04-05
EP2622533A4 (en) 2014-03-12
US8965749B2 (en) 2015-02-24
EP2622533A1 (en) 2013-08-07
US8428929B2 (en) 2013-04-23
JP2014194820A (ja) 2014-10-09
EP2622533B1 (en) 2015-11-18

Similar Documents

Publication Publication Date Title
CN103119560B (zh) 用于服务处理器复合体中的数据存储的基于需求的usb代理
EP3582129B1 (en) Technologies for secure hardware and software attestation for trusted i/o
KR100524055B1 (ko) 원격지 웨이크 업 기능을 갖는 컴퓨터 시스템 및 컴퓨터 시스템의 원격 웨이크 업 방법
US10152600B2 (en) Methods and systems to measure a hypervisor after the hypervisor has already been measured and booted
CN111008379A (zh) 电子设备的固件安全检测方法及相关设备
CN103793654A (zh) 服务器主动管理技术协助的安全引导
CN103299311A (zh) 用于可信引导优化的方法和设备
KR20100087336A (ko) 판독전용 영역과 판독/기록 영역, 분리형 매체 구성부품, 시스템 관리 인터페이스, 네트워크 인터페이스를 가진 컴퓨터 기억장치
CN110046495B (zh) 数据结构测量结果比较
US20220092203A1 (en) Platform root-of-trust system
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
RU2633098C1 (ru) Компьютерная система с удаленным управлением сервером и устройством создания доверенной среды и способ реализации удаленного управления
US11221858B1 (en) System control processor (SCP) boot system
US10003463B2 (en) Systems and methods for revoking and replacing signing keys
US11960737B2 (en) Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof
US11500683B2 (en) Workload compliance governor system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160921

Termination date: 20180930

CF01 Termination of patent right due to non-payment of annual fee