首页> 中国专利> 计算机系统以及计算机系统操作方法

计算机系统以及计算机系统操作方法

摘要

本发明提供一种计算机系统以及计算机系统操作方法,涉及计算机系统上组件的程序代码更新。计算机系统的中央处理单元在上电后执行微码,以自非挥发式存储器将启动用认证程序代码模块加载至中央处理单元中的认证程序代码执行区、并对其进行认证。该中央处理单元执行通过认证的该启动用认证程序代码模块连线服务器,并自该服务器取得该计算机系统上组件的程序代码更新文件。

著录项

  • 公开/公告号CN105468964A

    专利类型发明专利

  • 公开/公告日2016-04-06

    原文格式PDF

  • 申请/专利权人 上海兆芯集成电路有限公司;

    申请/专利号CN201510885117.7

  • 发明设计人 李凯;沈昀;

    申请日2015-12-04

  • 分类号G06F21/51;H04L9/32;

  • 代理机构北京汇泽知识产权代理有限公司;

  • 代理人张瑾

  • 地址 201203 上海市浦东新区张江高科技园区金科路2537号301室

  • 入库时间 2023-12-18 15:24:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-27

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/51 专利号:ZL2015108851177 变更事项:专利权人 变更前:上海兆芯集成电路有限公司 变更后:上海兆芯集成电路股份有限公司 变更事项:地址 变更前:201203 上海市浦东新区张江高科技园区金科路2537号301室 变更后:201203 上海市浦东新区张江高科技园区金科路2537号301室

    专利权人的姓名或者名称、地址的变更

  • 2018-09-14

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):G06F21/51 申请日:20151204

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明涉及计算机系统上组件的程序代码更新。

背景技术

计算机系统上许多组件都有程序代码更新需求;包括对中央处理单元 (CPU)的微码(microcode)打补丁、芯片组(chipset)的控制器固件更新、 基本输入输出系统(BIOS)更新等。

如何安全升级计算机系统上组件的程序代码而防止恶意攻击为本技术领域 重要课题。

发明内容

根据本发明一种实施方式实现的计算机系统包括中央处理单元以及非挥发 式存储器。该中央处理单元根据微码操作,且包括认证程序代码执行区 (authenticatedcodeexecutionarea,缩写ACEA)。该非挥发式存储器储存启动 用认证程序代码模块(startupauthenticatedcodemodule,缩写startupACM)。该 中央处理单元在上电后执行微码(microcode),以自该非挥发式存储器将该启动 用认证程序代码模块加载至该认证程序代码执行区、且进行认证。该中央处理 单元执行通过认证的该启动用认证程序代码模块,以连线服务器,并自该服务 器取得该计算机系统上组件的程序代码更新文件。

由于中央处理单元内的认证程序代码执行区不能被中央处理单元以外的设 备访问,故得以确保执行启动用认证程序代码模块Startup_ACM的安全性。与 现有技术经由易被攻击的基本输入输出系统(BIOS)或者经由更易被攻击的操 作系统(OperatingSystem,OS)获取该程序代码更新文件相比较,本发明技术 大大提高计算机系统组件的程序代码更新的安全性。

下文特举实施例,并配合所附图示,详细说明本发明内容。

附图说明

图1图解根据本发明一种实施方式实现的计算机系统100;且

图2为流程图,图解根据本发明一种实施方式所实现的一种计算机系统操 作方法,特别有关于计算机系统的开机程序。

具体实施方式

以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且 并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。

图1图解根据本发明一种实施方式实现的计算机系统100。计算机系统100 包括中央处理单元102以及非挥发式存储器104。该中央处理单元102根据微码 (microcode)114操作,且包括认证程序代码执行区(authenticatedcodeexecution area,缩写ACEA)108。该非挥发式存储器104储存启动用认证程序代码模块 (startupauthenticatedcodemodule,缩写StartupACM)Startup_ACM。该中央 处理单元102在上电后执行微码114,以自该非挥发式存储器104将该启动用认 证程序代码模块Startup_ACM加载至该认证程序代码执行区108进行认证。该 中央处理单元102经由在该认证程序代码执行区108上执行通过认证的启动用 认证程序代码模块Startup_ACM,以连线服务器116(如,透过网络接口控制器 118)。该服务器116提供计算机系统100上组件的程序代码更新文件120─例如, 该中央处理单元102的微码114的更新文件(microcodepatch)、芯片组106的 控制器固件(chipsetcontrollerfirmware)的更新文件或者基本输入输出系统 (basicinputandoutputsystem,简称BIOS)的更新文件。服务器116提供的该 程序代码更新文件可载至挥发式存储器124如编号120’。

在一种实施方式中,计算机系统100还包括芯片组106,该芯片组106包括 缓存器110,对应该启动用认证程序代码模块Startup_ACM储存密钥认证信息 112,举例而言,如果该中央处理单元102对加载的启动用认证程序代码模块 Startup_ACM进行认证时采用的是非对称加密算法(asymmetricencryption algorithm),则该密钥认证信息举例而言为加解密所用的公共密钥(publickey) 的哈希摘要值(hashvalue);而自该非挥发式存储器104加载的启动用认证程序 代码模块Startup_ACM自带加密签名(cryptographicsignature),其包括加解密 所用的公共密钥(publickey)的信息。该中央处理单元102执行微码114对加 载的启动用认证程序代码模块Startup_ACM进行认证时,先从加载的启动用认 证程序代码模块Startup_ACM取出签名中的公共密钥,计算其哈希摘要值,并 与缓存器110中预存的密钥认证信息112中的哈希摘要值比对,若一致,则认 证通过,继续后续的连线服务器116以取得程序代码更新文件120的流程。

在本发明中,中央处理单元102除了对启动用认证程序代码模块 Startup_ACM通过前述的认证方式进行验证以保证其安全性以外,中央处理单元 102会在其本身内部的认证程序代码执行区108中执行通过验证的启动用认证程 序代码模块Startup_ACM,该认证程序代码执行区108不能被中央处理单元102 以外的设备访问以进一步确保执行启动用认证程序代码模块Startup_ACM的安 全性。与现有技术经由易被攻击的基本输入输出系统(BIOS)128或者经由更 易被攻击的操作系统(OperatingSystem,OS)获取该程序代码更新文件120相 比较,安全性大大提高。

在一种实施方式中,中央处理单元102除了确保启动用认证程序代码模块 Startup_ACM本身及其执行环境的安全性以外,还通过执行启动用认证程序代码 模块Startup_ACM与该服务器116在双向认证下相连。如此一来,服务器116 提供的程序代码更新文件120可信度更高。一种实施方式中,该启动用认证程 序代码模块Startup_ACM还储存与服务器116进行双向认证的双向认证信息 123。中央处理单元102执行该启动用认证程序代码模块Startup_ACM以连线该 服务器116时,还提供该服务器116该双向认证信息123,以与服务器116进行 双向认证。一种实施方式中,在认证程序代码执行区108中执行的启动用认证 程序代码模块Startup_ACM经由网络接口控制器118与服务器116通讯。

一种实施方式中,该启动用认证程序代码模块Startup_ACM还储存系统证 书122。该中央处理单元102在本身内部的认证程序代码执行区108安全地执行 该启动用认证程序代码模块Startup_ACM以连线该服务器116时,还提供该服 务器116上述系统证书122,使该服务器116提供的上述程序代码更新文件120 符合该计算机系统上100的该组件。上述系统证书122可包括该组件的型号、 或该组件的序列号等信息。

计算机系统100的挥发式存储器(如,动态随机存取存储器DRAM)124 缓存取自该服务器116的程序代码更新文件120’。如图所示实施方式,该芯片 组106还包括硬件组态保护模块(hardwareconfigurationprotectmodule)126, 用以对该挥发式存储器124上缓存的上述程序代码更新文件120’进行保护使其 仅能被中央处理单元102访问和撷取。中央处理单元102再自该挥发式存储器 124上撷取程序代码更新文件120’进行认证,以通过认证的程序代码更新文件更 新对应组件的程序代码。举例而言,该组件为中央处理单元102,该程序代码更 新文件120’为微码114的更新文件,则中央处理单元102会将程序代码更新文 件120’自该挥发式存储器124撷取至中央处理单元102内部进行认证,以通过 认证的程序代码更新文件120’更新微码114。在一种实施方式中,程序代码更新 文件120’的认证信息也可以存储在缓存器110中,程序代码更新文件120’认证 操作也可以在受保护的认证码程序区108中进行。

如图所示,启动用认证程序代码模块Startup_ACM同基本输入输出系统 (BIOS)程序代码128载于非挥发式存储器104上。该中央处理单元102在经 由启动用认证程序代码模块Startup_ACM对基本输入输出系统的进行认证 (BIOSphase1tophase3)之前在自身内部安全环境(如认证程序代码执行区 108)执行该启动用认证程序代码模块Startup_ACM与服务器116连线获得该程 序代码更新文件120。本发明在计算机系统100上电开机过程中,在基本输入输 出系统128被认证和加载之前,通过执行启动用认证程序代码模块Startup_ACM 获得该程序代码更新文件120,与现有技术需要在更新基本输入输出系统128的 同时甚至进入操作系统(operatingsystem,OS)之后才能获得该程序代码更新 文件120相比较,更加及时。

在一种实施方式中,该中央处理单元102在上电后执行上述微码114中的 硬件基础核心度量根微码(H-CRTM)130,以执行对应该启动用认证程序代码 模块Startup_ACM的撷取指令(GETSECleafinstruction)132,以自该非挥发式 存储器104将该启动用认证程序代码模块Startup_ACM加载该认证程序代码执 行区108,并执行之。

此段落特别说明中央处理单元102的微码114。微码114为中央处理器102 内部的硬件接线固件(hardwiredfirmware),用以执行多组微操作 (micro-operations),以组合成汇编语言指令与中央处理器内部功能。硬件基础 核心度量根微码(H-CRTM)130是中央处理单元102在上电后、在基本输入输 出系统的认证(BIOSphase1tophase3)前会执行的微码。

此段落说明上述启动用认证程序代码模块Startup_ACM,属于认证程序代码 模块(authenticatedcodemodules,简称ACM)的一种。认证程序代码模块(ACM) 由中央处理器102实行,操作如同微码114的扩充(extensions)。经硬件基础核 心度量根微码130认证通过的认证程序代码模块(ACM)才能在中央处理单元 102规划的安全空间─如,认证程序代码执行区(ACEA)108─执行。认证程 序代码执行区(ACEA)108如此中央处理单元102内部存储器设计将使得认证 程序代码模块(ACM)的运行受保护,不仅避开安全性低的直接存储器存取 (DMA)、还避免认证程序代码模块(ACM)的程序代码以及数据外泄。缓存 器110内储存的密钥认证信息112即是用来比对加载认证程序代码执行区 (ACEA)108的认证程序代码模块Startup_ACM是否握有正确密钥。认证程序 代码模块Startup_ACM是在中央处理单元102上电时执行微码114(如,硬件基 础核心度量根微码(H-CRTM)130)呼叫撷取指令(GETSECleafinstruction) 132获得。认证程序代码模块Startup_ACM的执行将启动静态信任度量核心 (staticrootoftrustmeasure,简写SRTM),包括测量基本输入输出系统开机区 块(BIOSbootblock)。本发明是在高安全性的认证程序代码模块Startup_ACM 执行过程中与服务器116建立连结,以如此高安全性的架构自服务器116获得 计算机系统100上组件的程序代码更新文件。相比较,将计算机系统100上组 件的程序代码更新文件与基本输入输出(BIOS)/统一可扩展固件接口(UEFI) 打包在一起做更新的传统技术较为被动;传统技术将承担组件程序代码没有实 时更新的风险。另有一种传统技术是在操作系统(OS)下进行计算机系统组件 的程序代码更新,其安全性依赖操作系统,也有其风险。英特尔发行的信任执 行平台(TXTplatform)可应用来实现本发明技术内容。

图2为流程图,图解根据本发明一种实施方式所实现的一种计算机系统操 作方法,特别有关于计算机系统的开机程序。以下对应图1进行说明。步骤S202 执行微码114,例如微码114的硬件基础核心度量根微码(H-CRTM)130,以 自非挥发式存储器104加载中央处理单元102内部的认证程序代码执行区108 并认证(例如基于密钥认证信息112)该启动用认证程序代码模块Startup_ACM。 步骤S204判断加载该认证程序代码执行区108的该启动用认证程序代码模块的 认证是否通过。如果该启动用认证程序代码模块Startup_ACM认证通过,则执 行步骤S206,执行通过认证的该启动用认证程序代码模块Startup_ACM,以连 线服务器116,基于双向认证(例如,基于系统证书128及双向认证信息123) 自该服务器116取得该计算机系统100上组件的程序代码更新文件120。步骤 S208将取自该服务器116的程序代码更新文件120缓存于挥发式存储器124(呈 编号120’)。步骤S210,程序代码更新文件120’将在挥发式存储器124内被中 央处理单元102撷取并验证,如前所述,挥发式存储器124由硬件组态保护模 块126控制,使其不能被中央处理单元102之外的设备修改,在这种被保护的 状态下执行上述撷取和验证。步骤S211,以通过认证的程序代码更新文件120’ 更新对应组件的程序代码(例如微码114)。特别注意的是,以上程序更新码的 下载是安排在步骤S212基本输入输出系统128的认证之前。步骤S214进入基 本输入输出系统128的操作。倘若步骤S204该启动用认证程序代码模块 Startup_ACM不通过认证,开机程序略过步骤S206~S214而结束,使得未经授 权的启动用认证程序代码模块Startup_ACM不会进行后续步骤S206的与服务器 116连线取得程序代码更新文件120以及步骤S212认证BIOS128的操作,以防 止恶意攻击,在一种实施方式中,系统会报错以通知用户。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟 悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因 此本发明的保护范围当视权利要求书所界定的为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号