本公开描述一种允许认证固件设定输入文档的装置及方法。本公开的装置及方法用以接收固件设定输入文档,以及与该固件设定输入文档有关的代码。该固件设定输入文档设置在该计算机系统用以更新多个固件设定。该装置及方法还根据该固件设定输入文档产生第一数值,并利用加密密钥解密该代码以从该代码得到第二数值。该装置及方法还比较该第一数值与该第二数值,基于该第一数值与该第二数值是否满足一个或多个条件,以认证该固件设定输入文档。当满足该一个或多个条件时,该计算机系统的固件会根据固件更新输入文档进行更新。
Method and device of setting input document of certified firmware
【技术实现步骤摘要】
认证固件设定输入文档的方法与装置
本专利技术涉及计算机系统内部的更新固件设定,特别是涉及认证固件设定更新。
技术介绍
固件使用在计算机系统的各式组件。举例来说,固件包括了基本输入输出系统(BIOS)固件、基板管理控制器(BMC)固件、快速外围组件互连(PCIe)固件、以及类似的固件。许多工具与方法允许更新固件设定。其中一种常用来更新固件设定的作法,是使用固件提供者或固件来源所提供的设置工具。设置工具使用的固件设定输入文档,可由提供该固件的实体提供,例如固件提供者。该固件设定输入文档能够纪录下那些需要变更的设定,以及跟那些设定值相关的设定。设置工具接收输入文档,且与存储该固件的存储器沟通。设置工具会随着输入文档的变更,套用存储器中的固件所期望的设定。其后,固件根据新的设定来运作。某些固件的变更可能会伤害硬件,或造成安全问题。此外,虽然固件提供者可以建立固件设定输入文档,但是恶意来源、或是不具有正确地修改该固件设定所需知识的用户,也能建立固件设定输入文档。举例来说,一个恶意来源可以建立一个固件设定输入文档,该固件设置输入文档使BIOS的设定值成为一个会损害与/或降低计算机系统安全等级的状态。因此,固件可能会因恶意或不正确的变更而崩溃。因此,需要一种装置和方法,在从固件设定输入文档把设定写入存储器之前,通过认证该固件设定输入文档,以防止恶意或不正确的固件变更。
技术实现思路
所公开的方法和装置,使用一个代码以及与固件设定输入文档相关的数值,以认证该固件设定输入文档。该代码和该等数值允许该文档的认证优先于从该文档将设定写入存储器。该代码可以通过原始固件设定输入文档的哈希码和搭配加密密钥进行加密,如此一来,就只有固件提供者,或其他经过验证的该固件设定输入文档的发起人,才能够建立有效的代码。该代码可以是由固件设定输入文档所决定的独一无二的值。根据接受到的文档与代码,该代码可被解密以得出一个独一无二的值,比方说独特的哈希码。而另外一个数值可由该文档产生,这两个数值是否满足一个或多个条件,可以用来验证固件输入配置文件案的真伪。此一个或多个条件可包括该两个数值,例如两个哈希码的比对。根据第一实施例的一种计算机实施的方法,用于计算机系统的已认证固件设定更新,包括接收固件设定输入文档,以及与该固件设定输入文档有关的代码。该固件设定输入文档设置用以更新该计算机系统的多个固件设定。该计算机实施的方法还包括根据该固件设定输入文档产生第一数值。根据设定以及文档内的相关数值,该数值对该固件设定输入文档是独一无二的。该计算机实施的方法也包括利用加密密钥解密该代码以得到第二数值。该计算机实施的方法还包括比较该第一数值与该第二数值,且基于该第一数值与该第二数值是否匹配,以认证该固件设定输入文档。该计算机实施的方法还包括当该第一数值与该第二数值匹配时,根据该固件设定输入文档更新该计算机系统的该多个固件设定。在某些实施中,该第一数值与该第二数值为基于哈希函数产生的多个哈希码,或基于总和检查算法产生的多个总和检查码。在某些实施中,该代码为凭证,附加在该固件设定输入文档。在某些实施中,该计算机实施的方法包括从该计算机系统的存储器中取回该加密密钥。在某些实施中,该存储器可以是存储该固件的相同存储器,也可以存储用来产生该第一数值的算法。在某些实施中,该加密密钥可以是非对称加密密钥对的公钥。根据第二实施例的一种计算机系统,包括存储器,存储多个计算机可执行指令,以及处理单元,与该存储器进行通信。该处理单元执行该多个计算机可执行指令,使该计算机系统执行多个操作。该多个操作包括接收固件设定输入文档,以及与该固件设定输入文档有关的代码。该固件设定输入文档设置用以更新该计算机系统的多个固件设定。该多个操作也包括根据该固件设定输入文档产生第一数值。根据该等设定以及该文档内的相关数值,该数值对该固件设定输入文档是独一无二的。该多个操作也包括利用加密密钥解密该代码,从该代码得到第二数值。该多个操作也包括比较该第一数值与该第二数值,且基于该第一数值与该第二数值是否匹配,以认证该固件设定输入文档。该多个操作也包括当该第一数值与该第二数值匹配时,根据该固件设定输入文档更新该多个固件。在某些实施中,该第一数值与该第二数值为基于哈希函数产生的多个哈希码,或基于总和检查算法产生的多个总和检查码。在某些实施中,该代码为凭证,附加在该固件设定输入文档。在某些实施中,该计算机实施的方法包括从该计算机系统的存储器中取回该加密密钥。在某些实施中,该存储器存储该固件,以及用来产生该第一数值的算法。在某些实施中,该加密密钥可以是非对称加密密钥对的公钥。根据第三实施例的一种计算机实施的方法,用于产生已认证固件输入文档,包括产生与固件设定输入文档有关的代码。该固件设定输入文档可设置用以更新该计算机系统的多个固件设定。该计算机实施的方法还包括利用加密密钥加密该代码以产生加密代码。该计算机实施的方法也包括将该加密代码附加在该固件设定输入文档,以产生该已认证固件设定输入文档。在某些实施中,该加密密钥为非对称加密密钥对的密钥。在某些实施中,该计算机实施的方法可包括传输已认证更新文档到该计算机系统,以更新该计算机系统中的该固件设定,以及提供该计算机系统解密密钥。在某些实施中,该解密密钥为非对称加密密钥对的公钥,且用来加密该哈希码的该加密密钥为该非对称加密密钥对的该密钥。根据第四实施例的一种计算机系统,包括存储器,存储多个计算机可执行指令,以及处理单元,与该存储器进行通信。该处理单元执行该多个计算机可执行指令,使该计算机系统执行多个操作。该多个操作包括产生与固件设定输入文档有关的代码。该固件设定输入文档可设置用以更新该计算机系统的多个固件设定。该多个操作也包括利用加密密钥加密该代码以产生加密代码。该多个操作也包括将该加密代码附加在该固件设定输入文档,以产生该已认证更新文档。在某些实施中,该加密密钥为非对称加密密钥对的密钥。在某些实施中,有一项操作包括传输该已认证更新文档到该计算机系统,以更新该固件设定至该计算机系统中,以及提供该计算机系统解密密钥。在某些实施中,该解密密钥为非对称加密密钥对的公钥,且用来加密该哈希码的该加密密钥为该非对称加密密钥对的该密钥。附图说明本公开及其优点以及附图,在参考后述的例示性实施例的说明并配合所附附图后,将能更加明显易懂。后述附图仅为例示性实施例,并非用于限制本专利技术的各种实施方式或申请专利范围。图1为本公开更新固件设定的系统的实施例的示意图。图2为本公开更新固件的方法的实施例的流程图。图3为本公开的计算机系统的实施例的示意图。图4为本公开的计算机系统的另一实施例的示意图。具体实施方式将参照所附的附图以描述各种实施例,其中所有附图中使用相同的图标标记表示相似或等同的组件。附图并非按照比例绘制,仅用以例示性说明本专利技术。需了解的是,例示的多个具体细节、组件关系以及方法是为了使本专利技术可充分理解。然而,本领域技术人员,容易意识到可在没有一个或多个具本文档来自技高网...
【技术保护点】
1.一种计算机实施的方法,用于计算机系统的已认证固件设定更新,包括:/n接收固件设定输入文档,以及与该固件设定输入文档有关的代码,该固件设定输入文档设置用以更新该计算机系统的多个固件设定;/n根据该固件设定输入文档产生第一数值;/n利用加密密钥解密该代码以得到第二数值;/n比较该第一数值与该第二数值,且基于该第一数值与该第二数值是否匹配,以认证该固件设定输入文档;以及/n当该第一数值与该第二数值匹配时,根据该固件设定输入文档更新该计算机系统的该多个固件设定。/n
【技术特征摘要】
20180808 US 16/058,3761.一种计算机实施的方法,用于计算机系统的已认证固件设定更新,包括:
接收固件设定输入文档,以及与该固件设定输入文档有关的代码,该固件设定输入文档设置用以更新该计算机系统的多个固件设定;
根据该固件设定输入文档产生第一数值;
利用加密密钥解密该代码以得到第二数值;
比较该第一数值与该第二数值,且基于该第一数值与该第二数值是否匹配,以认证该固件设定输入文档;以及
当该第一数值与该第二数值匹配时,根据该固件设定输入文档更新该计算机系统的该多个固件设定。
2.如权利要求1所述的计算机实施的方法,其中,该第一数值与该第二数值为基于哈希函数产生的多个哈希码,或基于总和检查算法产生的多个总和检查码。
3.如权利要求1所述的计算机实施的方法,其中,该代码为凭证,附加在该固件设定输入文档。
4.一种计算机系统,包括:
存储器,存储多个计算机可执行指令;以及
处理单元,与该存储器进行通信,其中,该处理单元执行该多个计算机可执行指令,使该计算机系统执行下列操作,包括:
接收固件设定输入文档,以及与该固件设定输入文档有关的代码,该固件设定输入文档设置用以更新该计算机系统的多个固件设定;
根据该固件设定输入文档产生第一数值;
利用加密密钥解密该代码,从该代码得到第二数值;
比较该第一数...
【专利技术属性】
技术研发人员:林友涵,
申请(专利权)人:广达电脑股份有限公司,
类型:发明
国别省市:中国台湾;71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。