安全固件更新的制作方法_4

文档序号:8287888阅读:来源:国知局
,系统可以在安全环境不可用时完全绕过固件更新。
[0057]在某些情况下,引导程序可以在安全环境不可用时生成错误消息。可以呈现提示以向用户请求关于处理错误的选项的输入。例如,可提示用户指示中止加载、正常启动还是在提供一组减少的功能的安全模式中启动,等等。或者,系统可被配置成在不存在安全环境时自动中止引导序列。
[0058]图5描绘了根据一个或多个实施例的其中选择性地设置更新状态以实现安全固件更新的过程500。将与计算设备相关联的一个或多个受管硬件资源的更新状态设置成在安全预引导环境中启用固件更新(框502)。可以按上述方式单独为不同的资源设置更新状态。状态可使用所指定的字段或与资源相关联的其他合适的数据对象/参数来设置。更新状态可以在系统通电时按默认设置、响应于通知/命令设置或以其他方式设置。
[0059]在另一方法中,SoC设备或其他指定组件(例如,所指定的中央处理单元(CPU)、微处理器或控制器设备)的核心系统固件可被配置为连接到每一个受管硬件资源的看护者。在该方法中,对受管硬件资源的固件更新可通过对应于看护者设备的系统固件202来集中式地更新和处理。系统固件202可负责在启用固件更新时向其他资源分发更新。因此,对多个不同硬件资源的更新可通过管理SoC设备或其他指定看护者的更新状态来控制。当所指定的看护者设备的更新状态被设为禁用更新时,系统固件被配置成不向其他设备/资源分发更新。以此方式,对一组所选设备的固件更新可通过管理与所指定的看护者设备相关联的状态来被启用或禁用。
[0060]检测对一个或多个受管硬件资源可用的更新(框504),并且应用检测到的可用更新(框506)。对更新的处理和安装可以按上述方式使用不同的固件系统128和技术来进行。一般而言,这涉及枚举通过该系统进行固件管理的一组指定硬件资源。只要启用对所枚举的资源的安全更新,固件系统128就可以与安全更新模块130结合发现和部署对所枚举的资源可用的更新。例如,该系统可获取更新包并分发更新包以供各个资源应用更新。当采用所指定的看护者设备时,根据固件系统来格式化的更新包可通过看护者设备的固件来集中式地发现和部署。在一些实施例中,安全更新模块130被配置为用于集中式地处理对所指定的硬件资源的安全固件更新的看护者设备的组件。
[0061]在应用更新后向一个或多个受管硬件资源传递禁用命令以将更新状态改为在后引导环境中禁用固件更新(框508)。这可以就在控制被传递至引导加载程序以加载OS之前进行。同样,对资源的更新通过设置与每一个不同的硬件资源相关联的更新字段来单独禁用。但是,当采用所指定的看护者设备时,对通过看护者设备来集中式地管理的资源的更新可通过设置看护者设备本身的状态(该状态禁用对多个资源的更新)来一起禁用。将状态设为禁用阻止看护者设备向其他资源分发任何固件更新。
[0062]在考虑了关于安全固件更新的示例细节和技术后,考虑讨论根据一个或多个实施例的示例系统。
[0063]示例系统
[0064]图6示出了包括示例计算设备602的示例系统600,该示例计算设备602表示可以实现此处描述的各种技术的一个或多个计算系统和/或设备。计算设备602可以是,例如,服务提供方的服务器、与客户机相关联的设备(例如,客户机设备)、片上系统、和/或任何其他合适的计算设备或计算系统。
[0065]所示的示例计算设备602包括处理系统604、一个或多个计算机可读介质606、以及相互通信地耦合的一个或多个I/O接口 608。尽管没有示出,计算设备602可进一步包括系统总线或将各种组件相互耦合的其它数据和命令传输系统。系统总线可包括不同总线结构中的任一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任一种的处理器或局部总线。也构想了各种其它示例,诸如控制和数据线。
[0066]处理系统604表示使用硬件执行一个或多个操作的功能。因此,处理系统604被示为包括可被配置为处理器、功能块等的硬件元件610。这可包括在作为专用集成电路或使用一个或多个半导体构成的其它逻辑设备的硬件中的实现。硬件元件610不受形成它们的材料或者在其中所利用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这一上下文中,处理器可执行指令可以是可电子地执行的指令。
[0067]计算机可读介质606被示为包括存储器/存储612。存储器/存储612表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储612可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存储612可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存、可移动硬盘驱动器、光盘等等)。计算机可读介质606可以下面进一步描述的各种方式来配置。
[0068]输入/输出接口 608表示允许用户向计算设备602输入命令和信息的功能,并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、用于语音操作的话筒、扫描仪、触摸功能(例如,电容性的或被配置来检测物理接触的其它传感器)、照相机(例如,可采用可见或诸如红外频率的不可见波长来将不涉及触摸的移动检测为姿势),等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备,等等。因此,计算设备602可以下面进一步描述的各种方式来配置以支持用户交互。
[0069]此处可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般而言,这种模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等等。本文使用的术语“模块”、“功能”和“组件” 一般表示软件、固件、硬件或其组合。本文描述的技术的各特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。
[0070]所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可包括可由计算设备602访问的介质。作为示例而非限制,计算机可读介质可包括“计算机可读存储介质”和“通信介质”。
[0071]“计算机可读存储介质”可以指相对于仅信号传输、载波、或信号本身而言,启用对信息的持久存储的介质和/或设备。因此,计算机可读存储介质不包括信道承载或瞬时介质。计算机可读存储介质包括以适合于存储如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据等的方法或技术来实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备的硬件。该计算机可读存储介质的示例包括但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、⑶-ROM、数字多功能盘(DVD)或其它光存储、硬盘、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可适用于存储所需信息并可由计算机访问的其它存储设备、有形介质或制品。
[0072]“通信介质”可以指被配置为诸如经由网络向计算设备602的硬件传输指令的信号承载介质。通信介质通常用诸如载波、数据信号、或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。通信介质还包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线路连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。
[0073]如先前所描述的,硬件元件610和计算机可读介质606代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其可在某些实施例中被采用来实现此处描述的技术的至少某些方面。硬件元件可包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),和用硅的其它实现的组件或其它硬件设备。在此上下文中,硬件元件可以充当处理设备,该处理设备执行由该硬件元件以及用于存储供执行的指令的硬件设备(例如前面描述的计算机可读存储介质)所体现的指令、模块
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1