提供安全固件存储和服务访问的方法和装置的制作方法

文档序号:6487317阅读:149来源:国知局
专利名称:提供安全固件存储和服务访问的方法和装置的制作方法
技术领域
本发明涉及固件,尤其涉及提供安全固件存储和服务访问的方法和装置。
背景计算系统包括诸如处理器的硬件,其上执行软件或固件。当处理器通电或接收复位信号时,处理器执行引导序列,在此期间在预引导环境(即,没有加载操作系统(OS)的环境)中执行固件中的许多指令。
随着计算系统的发展,预引导环境从具有有限服务的粗接口改进为其中固件组件模块化的基于标准的接口。这种固件结构的一示例是可扩展固件接口(EFI),它提供丰富的不同组服务,它们可由各种系统实体呼叫以请求执行、调用服务等。例如,EFI包括通过系统表可用的一组核心服务,该系统表公布各服务驻在的地址以便能呼叫这些服务。此外,EFI能经由全局唯一标识符(GUID)/指针对安装诸如协议的接口。
允许添加接口的诸如EFI的现代固件的可扩展性以及多数固件系统留有可变存储和文件系统未受保护的事实使得现代固件对来自病毒等的安全攻击开放。例如,系统表中列出的可呼叫接口的平名字空间的暴露造成了各种可执行实体之间建立可信关系的新问题。特别是,已知的预引导固件环境不执行认证(即,确认请求服务的实体的身份)或授权(即,确定服务请求者的权利)。


图1是示例性安全固件存储和服务访问系统的示图。
图2是示出图1的示例性平台安全单元的附加细节的示图。
图3是可实现示例性安全固件存储和服务访问系统的示例性处理器系统的示图。
图4是图3的闪存中载入的指令的示例性快闪映射(flash map)的示图。
图5是示例性授权数据块关系的示图。
图6是可在图3的示例性处理器系统上实现的示例性安全过程的流程图。
图7是可在图3的示例性处理器系统上实现的示例性服务呼叫处理过程的流程图。
具体实施例方式
虽然以下揭示了除了其它组件包括硬件上执行的软件或固件的示例系统,但应注意,这些系统仅仅是说明性的而不应理解为是限制性的。例如,这些硬件、固件和/或软件组件中的任一个或全部都可排他地包含在专用硬件、软件、固件或硬件、软件和/或固件的某些组合中。因此,虽然以下描述了示例系统,本领域的普通技术人员将理解,这些示例不是实现这些系统的仅有方式。
如图1的示例所示,安全固件存储和服务访问系统100包括实体和/或代码102,它们进行服务请求和/或仅通过平台安全单元104将代码加载到执行环境106的请求。一般,实体和/或代码102形成的服务请求先前被直接路由到完成服务请求的执行环境106。相反,在揭示的系统100中,实体和代码被配置成向平台安全单元104进行服务请求,该平台安全单元用于授权完成它们期望的任务。例如,当在闪存、本地盘分区或网络引导服务器上发现驱动程序或应用(即,更一般的代码)时,EFI 1.02的LoadImage()服务被配置成引用平台安全单元104。此外,如果已知的实体尝试通过EFI1.10服务OpenProtocol()或EFI1.02服务HandleProtocol()定位一服务,则安全平台单元104将确定所引用的协议是否被授权执行。作为另一示例且如下所述,通过在平台安全单元104中指明平台安全单元104内存储的RuntimeServicesMask中的GetNextVariable()和SetVariable()服务,可使变量稳定。虽然前述服务已作为被指示访问平台安全单元104用于认证和授权的服务、实体和/或代码的示例列出,但应注意,以上示例仅仅是说明性的。例如,EFI和/或任何其它接口内的所有核心服务都可具有通过平台安全单元104进行的授权判定。
如以下详细描述的,平台安全单元104确定请求服务的实体的身份和/或请求要被加载的代码的身份(认证)并确定请求者或要被加载的代码已被准许的权利(授权)。特别是,要执行的代码将具有一Kobject(Kobj),它可以是公钥、图像的SHA-1散列(hash)、加噪(salted)密码或唯一标识该代码的任何其它标识符。
在平台安全单元104内,有一描述了K的计算引起了“什么”的列举以及如何进行计算的描述。这里称作Kowner的系统管理员向平台提供关于什么代码对象(Kobj’s)可被执行和执行后每个Kobj的许可将具有什么,这是由预引导或运行时间掩码(mask)所定义的。例如,如果Kobj被认证和运行,则Kobj将只能完成与Kobj的许可相一致的任务。或者,如果Kobj是未知的(即,未在Kobj的数据库中列出,因此未认证),则将Kobj不被加载或运行且被拒绝的对执行资源的Kobj请求将被记入日志。
如图2所示,在一示例中,平台安全单元104可由认证单元202实现,该认证单元202耦合到可包括标识信息206和与标识信息206中列出的实体相对应的可容许行为208的访问控制列表204。可通过包括访问控制列表编辑器的本地管理接口编辑访问控制列表204,或者利用安全传输和远程控制台在网络上进行编辑。
如以下结合图5详细描述的,可根据驱动存储标识信息206和容许行为208的数据库中包含的信息关系的命名惯例而命名的特殊系统中的各种实体。简要地,标识信息206例如可以是以太网MAC地址、加噪密码、公钥、因特网协议(IP)地址、对称密钥、可移动可执行(PE)文件的SHA-1散列(例如,http//www.microsoft.com/whdc/hwdev/hardware/pecoff.mspx处所定义的)或任何其它合适的唯一标识信息。
在EFI系统中,与标识信息相对应的可容许行为208通过引导服务和运行时间服务比特掩码来表示,它们在可从Intel Corporation获得的2000年12月12日出版的可扩展固件接口(EFI)规范,1.02版的Chapter 3中定义。此外,容许行为208可包括调用的协议或服务的可能空的列表。
一般,在操作期间,认证单元202接收来自实体的对服务的请求并标识该请求实体。在标识该实体后,为与所标识的实体相对应的条目扫描标识信息206。如果在标识信息206中找到了用于标识实体的条目,则在可容许行为208中为该实体找到可用服务的比特掩码。如果比特掩码允许,则完成所请求的行为。或者,如果标识信息206中没有找到条目,则该请求可被拒绝它所请求的服务。或者,如以下详细描述的,可根据请求的性质以限制方式处理该请求。
以上描述了与形成图1的平台安全单元104的框相关联的各种功能;但,平台安全单元104的功能性可通过由一个或多个处理器系统执行的软件或固件来实现。在一示例中,诸如图3所示的示例性处理器系统300可用于实现一个或多个过程,以形成平台安全单元。以下,在示例性处理器系统300的描述之后提供了关于可结合处理器系统用于提供平台安全的指令、数据结构等的进一步细节。
示例性处理器系统300包括具有相关存储器304的处理器302,该存储器诸如随机存取存储器(RAM)306、只读存储器(ROM)308和闪存310。处理器302耦合到与其它组件对接的诸如总线312的接口。在所示示例中,与总线312接口的组件包括输入装置314、显示装置316、海量存储装置318和可移动存储装置驱动器320。可移动存储装置驱动器320可包括有关的可移动存储媒体322,诸如磁性媒体或光媒体。
示例性处理器系统300例如可以是常规台式个人计算机、笔记本计算机、工作站或任何其它计算装置。此外,示例性处理器系统300可用基于数字信号处理器(DSP)的架构实现。在基于DSP的架构中,可去除与总线对接的某些组件。
处理器302可以是任何类型的处理单元,诸如微处理器、微控制器、DSP或诸如应用专用集成电路的定制硬件。
与处理器302耦合的存储器306-310可以是任何合适的存储装置并可调整大小以满足系统300的存储需要。存储器306-310例如可存储实现下述功能的指令。处理器302可重新调用来自存储器304的这些指令用于执行。
输入装置314可用键盘、鼠标、触摸屏、轨迹垫或使用户能向处理器302提供信息的任何其它装置实现。或者,输入装置314可以是能从处理器302接收信息并向其发送信息的网络连接或输入端口。
显示装置316例如可以是液晶显示器(LCD)监视器、阴极射线管(CRT)监视器或用作处理器302和用户之间界面的任何其它合适的装置。图3所示的显示装置316包括使显示屏与处理器302接口所需的任何附加硬件。
海量存储装置318例如可以是常规硬盘驱动器或可由处理器302读取的任何其它磁或光媒介。此外,虽然所示为是系统300本地的,但海量存储装置318可以远离系统300,因此可经由输入装置314耦合到系统300。
可移动存储装置驱动器320例如可以是光驱,诸如可读紧致盘(CD-R)驱动器、可重写紧致盘(CD-RW)驱动器、数字通用盘(DVD)驱动器或任何其它光驱。或者,它例如可以是磁性媒体驱动器。因为选择媒体322来用驱动器320进行操作,可移动存储媒体322是可移动存储装置驱动器320的补充。例如,如果可移动存储装置驱动器320是光驱,则可移动存储媒体322可以是CD-R盘、CD-RW盘、DVD盘或任何其它合适的光盘。另一方面,如果可移动存储装置驱动器320是磁性媒体装置,则可移动存储媒体322例如可以是磁盘或任何其它合适的磁性存储媒体。
如本领域的普通技术人员易于理解的,在某些实现中可省去系统300的某些组件。例如,显示装置316、海量存储装置318和可移动存储装置驱动器322都可以是能省去的组件的示例。
如图4的示例性快闪映射400中所示的,在闪存(例如,图3的闪存310)中代码的各种代码段或部分可作为固件实现。如图4的快闪映射中所示的,闪存包括由预EFI初始化(PEI)部分402、驱动程序执行环境(DXE)核心404和安全平台驱动程序406形成的可信计算基(TCB),它们可实现结合图1的平台安全单元104描述的功能。此外,如快闪映射400所表示的,闪存可存储其它驱动程序408和其它各种信息410。通常,如下所述,PEI402、DXE核心404和安全平台驱动程序406的TCB首先由处理器执行。随后,向处理器作出的服务请求由先前安装的平台安全驱动程序406处理。如以上相对于图1的平台安全单元104一般性描述的,安全平台驱动程序406认证任何服务或资源请求者的身份,并确定该请求者是否被授权接收所请求的服务。以下相对于联系图6描述的安全平台过程提供与安全平台驱动程序406的操作方面相关的进一步细节。
操作中,当复位处理器302时,处理器302在复位矢量所指示的存储器位置处开始执行。揭示示例中的复位矢量指向快闪映射400中的代码的顶线。因此,处理器(例如,图3的处理器302)开始连续地执行由快闪映射400的顶部表示的代码并继续执行代码直到执行表示快闪映射400的底部的代码。PEI402是由处理器302加载和执行的第一个代码。如本领域普通技术人员易于理解的,连同其它功能,PEI402为了PEI402之后代码的执行而初始化处理器存储器304。
在加载和执行PEI402后,处理器302着手加载和执行DXE核心404,如熟练技术人员易于理解的,该DXE核心404是可加载和执行驱动程序的执行环境。例如,参考图1,可用DXE核心404实现执行环境106。
在DXE核心404已被加载和执行后,作为TCB中的最后一项的安全平台驱动程序406被加载并执行。此外,参考图1,平台安全单元104可由安全平台驱动程序406实现。如这里所描述的,安全平台驱动程序406接收对资源或服务的请求并基于请求者的身份和/或期望的请求或服务的性质选择性地准许这些请求或服务。一般,安全平台驱动程序406确定请求者的身份(认证)并确定请求者可用的服务(授权)。
在加载和执行安全平台驱动程序406后,如果其它驱动器408和各种指令通过安全平台驱动程序406进行的认证和授权测试,就可加载并执行这种驱动器和指令。
为便于图6和7的说明,联系图5示出并描述了示例性授权数据块关系500。授权数据库关系500包括所有人对象502、对象一504、第一和第二协议GUID对象506和508以及第n对象510。对象502、504和510由唯一标识符(Ks)标识和引用,它例如可以是以太网MAC地址、加噪密码、公钥、IP地址、对称密钥、SHA-1散列或其它唯一信息。
图5示例中的所有人对象502被命名为Kowner并具有定义所有人属性的所有人掩码。例如,所有人掩码可定义所有人对象502可用的运行时间和预引导执行服务。所有人对象502还包括对与它相关的其它对象的引用。例如,如图5所示,所有人对象502引用被命名为Kobl的对象一504。例如,在原始设备制造商(OEM)设置处理器系统(例如,图3的处理器系统300)的工厂情况中,OEM会安装Kowner和与Kowner对象有关的某些对象,其中Kowner和有关对象提供对OEM诊断和各种引导加载器的支持。
对象一504引用第一协议GUID506,用于与一对象504相关的许可的定义。第一协议GUID506可进一步引用第二协议GUID508,用于一对象504可用的进一步服务的定义。第二协议GUID508可引用进一步的GUID。或者,如图5所示,第二协议GUID508可不引用进一步的GUID。
对象一504还可引用后续对象,类似于第n对象510。第n对象510包括可被定义为对预引导和运行时间的服务掩码的许可并还可列出后继者对象。但在图5的示例中,第n对象510未列出后继者对象。
图6示出了示例性安全平台过程600。安全平台过程600可用一个或多个存储器(例如,存储器306-310)中存储的并由一个或多个处理器(例如,处理器302)执行的一个或多个软件程序或指令集实现。但,平台安全过程600的某些或全部块可手动和/或由某些其它装置执行。此外,尽管参考图6所示的流程图描述了平台安全过程600,但本领域的普通技术人员将易于理解,可使用执行平台安全过程600的许多其它方法。例如,可改变块的顺序,可改变一个或多个块的操作,可组合块,和/或可去除块。
一般,平台安全过程600请求服务,诸如加载或执行代码的请求、在预引导或运行时间中执行服务的请求等,并确定如果履行这种请求是否服从指定安全规则。特别是,平台安全过程600执行认证(即,确定请求实体的身份)和授权(即,确定认证请求实体的权利)。基于该认证和授权,平台安全过程将选择性地允许请求的履行。
平台安全过程600通过确定实体是否尝试取得系统所有权开始(框602)。例如,当用户购买新的个人计算机时,用户会输入缺省用户名和密码,以声明改变各种系统参数的权利,这些系统参数中的一个或多个可从属于执行各种指令或提供各种服务的安全设定和许可。
如果实体尝试获得所有权(框602),则将实体输入的密码(Kinput)与测试密码(Ktest)进行比较(框604)。例如,密码是特殊阿尔法和数字字符串的简单散列。在这种情况中,如果实体输入的密码散列与存储器(例如,存储器306-310中的任一个)中存储的密码散列匹配,则所有人身份被设定为提供合适密码的身份实体(框606)。在输入合适密码后(即,变成所有人后),实体可对系统安全设定的各方面进行改变。例如,所有人可设定安全参数,以启用或禁用未签名代码的执行。此外,所有人可启用或禁用为存储器306-310中的一个或多个内设置的平台安全数据库中未列出的实体执行服务的能力。所有这些功能都可在图6示例的框606中执行。
在过程600完成框606的执行后,如果密码输入不等于存储的密码(框604),或如果未获得所有权(框602),则过程600确定是否接收到执行的请求(框608)。执行请求可包括本地或从网络或从任何其它源接收的请求。该请求可以是完成驱动器、应用和/或任何其它指令或指令集合的执行的请求。此外,请求可包括加载作为OS加载器(Loader)的特异EFI应用的请求。可配置该系统以使OwnerMask指示该平台需要“安全引导(Secure Boot)”。在该操作模式下,必须有与盘上的或与由EFI环境变量BootNext规定的OS加载器相对应的网络上加载的图像相对应的Kobj。在没有用于OS加载器的Kobj的情况下,系统应进入某一恢复模式。
如果存在对执行的请求(框608),则过程600确定可被称作为图像的执行代码是否是签名图像(框610)。如果图像包括诸如类似于散列的数字签名或某些其它合适签名的签名,则图像可被称作是签名的。如本领域的普通技术人员易于理解的,可在发送信息前用私钥散列并标记信息。在接收到签名信息时,信息接收器将尝试用与发送信息所使用的私钥相关联的公钥校验接收信息的完整性,随后散列该信息以获得原始散列的信息。采用这种结构,驱动程序可在工厂处被签名且平台安全驱动程序可在要执行该驱动程序时认证驱动程序内容。与散列相关的其它信息例如可在http//csrc.nist.gov/publications/fips/fips180-1/fip180-1.txt处找到。与用公钥/私钥对签名诸如驱动程序的图像相关联的其它信息例如可在http//www.itl.nist.gov/fipspubs/fip186.htm处找到。
如果图像被签名(框610),则过程600确定请求资源的对象(例如Kobject)是否位于数据库内(例如,图4的访问控制列表204)(框612)。如果与对象相对应的条目在数据库中找到(框612),则过程确定附着到该对象上的签名是否匹配位于数据库中对象的签名(框614)。如果签名匹配,则执行驱动程序(框616)。
返回到与框610有关的过程600的讨论,如果图像未被签名(框610),则过程确定所有人是否允许未签名代码的执行(框618)。如果所有人允许未签名代码的执行(框618),则过程执行该代码(框620)。或者,如果所有人不允许未签名代码的执行(框618),则代码的尝试加载失败并将该失败记入日志(框622)。
返回到框612,如果对象不在数据库中(框612),则过程600确定所有人是否允许不在数据库中的未签名代码的执行(框624)。如果所有人允许这种代码的执行,则执行该代码(框620)。或者,如果所有人不允许这种代码的执行,则代码的加载失败并将该失败记入日志(框622)。
如果过程600确定代码和数据库的签名对于特定对象不匹配(框614),则加载失败并将该失败记入日志(框622)。
返回到框608,如果过程600未接收到任何执行请求,则过程600确定是否接收到任何服务呼叫(框626)。框626保持控制直到接收到服务呼叫的请求。当接收到服务呼叫时,呼叫服务呼叫处理过程(框628)并将控制转到该过程。联系图7提供与服务呼叫处理过程相关的进一步细节(框628)。
图7中更详细地示出了用于实现框700的示例性服务呼叫处理过程700。如同安全平台过程600,服务呼叫处理过程700可用一个或多个存储器(例如,存储器306-310)中存储并由一个或多个处理器(例如,处理302)执行的一个或多个软件程序或指令组实现。但,服务呼叫处理过程700的某些或全部框都可手动和/或通过某些其它装置进行。此外,虽然参考图7所示的流程图描述了服务呼叫处理过程700,但本领域的普通技术人员将易于理解,可使用进行服务呼叫处理过程700的许多其它方法。例如,可改变框的顺序,可改变一个或多个框的操作,可组合框,和/或可除去框。此外,虽然过程600和700示作分开的示图,但本领域的普通技术人员将理解,这两个过程可组合并在单个示图中表示。
一般,服务呼叫处理过程700以安全方式处理服务呼叫请求,它可以是引导服务请求、运行时间服务请求和/或协议。特别是,过程700确定请求服务的呼叫者的身份并确定所请求的图像是否在数据库中找到。随后,过程700确定许可掩码或协议条目是否存在和/或所有人策略是否支持全访问。基于协议掩码和/或全访问策略的存在,可执行或忽略服务请求。
过程700通过确定请求服务的呼叫者的身份开始执行(框702)。可通过使加载的图像协议实例与Kobject相关来确定呼叫者身份。在一特殊示例中,每个加载的图像协议都将具有ImageBase字段,该字段规定了存储器中图像的基;存储器中图像的大小应由加载的图像协议实例的ImageSize字段定义。在这种结构中,平台安全驱动程序检查呼叫堆栈返回值并确定该呼叫堆栈地址是否在任何(ImageBase,ImageBase+ImageLength)体系内。如果是,则EFI_DEVICE_PATH FilePath字段可用于检查Kobj的节点中的EFI_DEVICE_PATH实例并尝试找到匹配。这是一种技术,通过这种技术,可使进入呼叫者/驱动程序的呼叫堆栈返回地址与Kobj相关。
在确定呼叫者身份后(框702),通过将指标复位成零(框704),过程700确定图像是否存在于数据库中(例如,访问控制列表204)。在复位该指标后,过程700确定是否存在附加的加载图像协议(框706)。如果不存在加载的图像协议(框706),代码不通过EFI核心加载且因此不被执行(框708)。
或者,如果存在附加图像协议(框706),增加指标(框710)。随后,确定变量X是否在基地址和增加一定范围的基地址之间(框712)。如果变量X不在基和增加该范围的基之间,则代码不由EFI核心加载且不加载内容(框708)。
或者,如果变量X在范围内,过程700确定是否存在匹配装置路径(路径714)的指标的对象位置,它指示对象是否存在于存储器中的合适位置。如果对象存在,过程700确定是否存在许可掩码或协议条目(框716)。如果许可掩码或协议不存在(框716),则忽略请求并将事件记入日志(框718)。相反,如果许可掩码或协议存在(框716),则执行请求(框720)。在忽略或执行请求后(框718或720),过程700将控制返回给过程600,它继续执行直到接收到退出引导服务命令以开始操作系统的加载和预引导环境的停止。
如果存储器中没有相应对象(框714),过程700确定所有人策略是否支持全部访问(框722)。如果所有人策略支持全部访问(框722),则执行请求(框720)。或者,如果所有人策略不支持全部访问,则在控制被返回给过程600前忽略请求并将事件记入日志(框724)。
虽然这里描述了根据本发明教导构成的特定装置,但本专利的覆盖范围不限于此。相反,本专利覆盖所附权利要求书或其等效物的范围内的所有装置、方法和制品。
权利要求
1.一种控制对执行资源的访问的方法,包括接收一请求以便在预引导环境中执行指令;确定指令的身份;确定访问控制列表是否包括与该指令相对应的条目;以及如果访问控制列表包括与指令相对应的条目,则选择性地允许指令的执行。
2.如权利要求1所述的方法,其特征在于,还包括如果访问控制列表中的签名匹配指令的签名,则允许指令的执行。
3.如权利要求1所述的方法,其特征在于,在指令被签名的情况下,如果访问控制列表不包括与指令相对应的条目,则选择性地允许指令的执行。
4.如权利要求1所述的方法,其特征在于,指令由服务呼叫请求以被执行。
5.如权利要求4所述的方法,其特征在于,包括从访问控制列表中确定指令可使用的系统资源。
6.如权利要求4所述的方法,其特征在于,包括确定进行服务呼叫的实体的身份。
7.如权利要求4所述的方法,其特征在于,包括确定要执行的指令是否在存储器的预定区域内。
8.如权利要求1所述的方法,其特征在于,指令是控制安全引导的操作系统加载器,且其中如果访问控制列表不包括与指令相对应的条目,则进入操作的恢复模式。
9.一种包括机器可访问媒介的制造制品,所述机器可访问媒介具有多个机器可访问指令,这些指令在被执行时使得机器接收请求以便在预引导环境中执行指令;确定指令的身份;确定访问控制列表是否包括与该指令相对应的条目;以及如果访问控制列表包括与该指令相对应的条目,则选择性地允许指令的执行。
10.如权利要求9所述的机器可访问媒介,其特征在于,在执行所述多个机器可访问指令时使得机器在访问控制列表中的签名匹配指令的签名的情况下允许指令的执行。
11.如权利要求9所述的机器可访问媒介,其特征在于,在执行所述多个机器可访问指令时,使得机器在指令被签名的情况下,如果访问控制列表不包括与指令相对应的条目,则选择性地允许指令的执行。
12.如权利要求9所述的机器可访问媒介,其特征在于,指令由服务呼叫请求以被执行。
13.如权利要求9所述的机器可访问媒介,其特征在于,在执行所述多个机器可访问指令时,使得机器从访问控制列表中确定可由指令使用的系统资源。
14.如权利要求13所述的机器可访问媒介,其特征在于,在执行所述多个机器可访问指令时,使得机器确定进行服务呼叫的实体的身份。
15.如权利要求13所述的机器可访问媒介,其特征在于,在执行所述多个机器可访问指令时,使得机器确定要执行的指令是否在存储器的预定区域内。
16.如权利要求9所述的机器可访问媒介,其特征在于,指令是控制安全引导的操作系统加载器,且其中如果访问控制列表不包括与指令相对应的条目,则进入操作的恢复模式。
17.一种系统,包括配置成执行代码的执行环境;要被执行的指令;平台安全单元,它与执行环境耦合并接收请求以在预引导环境中执行指令,其中平台安全单元被配置成确定指令的身份,确定访问控制列表是否包括与指令相对应的条目,且如果访问控制列表包括与指令相对应的条目,则选择性地允许指令由执行环境执行。
18.如权利要求17所述的系统,其特征在于,如果访问控制列表中的签名与指令的签名匹配,则平台安全单元允许指令由执行环境执行。
19.如权利要求17所述的系统,其特征在于,在指令被签名的情况下,如果访问控制列表不包括与指令相对应的条目,则平台安全单元选择性地允许指令由执行环境执行。
20.如权利要求17所述的系统,其特征在于,指令由服务呼叫请求以被执行。
21.如权利要求20所述的系统,其特征在于,平台安全单元从访问控制列表中确定可由指令使用的系统资源。
22.如权利要求20所述的系统,其特征在于,平台安全单元确定进行服务呼叫的实体的身份。
23.如权利要求20所述的系统,其特征在于,平台安全单元确定要执行的指令是否在存储器的预定区域内。
全文摘要
揭示了提供安全固件存储和服务的方法和装置。一示例方法可包括接收一请求以便在预引导环境中执行指令,确定指令的身份,确定访问控制列表是否包括与指令相对应的条目,以及如果访问控制列表包括与指令相对应的条目,则选择性地允许指令的执行。
文档编号G06F1/00GK1813229SQ200480018100
公开日2006年8月2日 申请日期2004年6月16日 优先权日2003年6月27日
发明者V·齐莫尔, C·艾利森, M·罗斯曼, A·费希, M·多兰 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1