[发明专利]一种及时弥补Secure‑Boot安全漏洞的方法在审
申请号: | 201710249099.2 | 申请日: | 2017-04-17 |
公开(公告)号: | CN107092832A | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 陶锋 | 申请(专利权)人: | 南京百敖软件有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 柏尚春 |
地址: | 210061 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 及时 弥补 secure boot 安全漏洞 方法 | ||
技术领域
本发明属于计算机安全领域,具体涉及一种弥补Secure-Boot安全漏洞的方法。
背景技术
统一可扩展固件接口(UEFI,Unified Extensible Firmware Interface)是新一代固件系统。UEFI规范规定固件可以包含一系列数字签名,并拒绝运行未进行数字签名或签名与固件中包含的签名不一致的EFI可执行文件。
Secure-Boot是UEFI的一个子部分。Secure-Boot的目的是防止恶意软件侵入,其旨在提供与特定设备路径相关的通用身份认证信息的访问,通过使用定义的接口可配置身份认证信息。连续配置认证信息时,将覆盖先前配置的信息;一旦覆盖,先前的认证信息将不可回收。
通常,数字签名需要两个部分:数据(message)和公钥/私钥对。
数字签名的创建:数据通过哈希算法处理,产生一个哈希值,然后再将这个哈希值通过签名算法和私钥加密生成数字签名,流程如图1所示。
为了验证签名,需要两个数据:原始数据(message)和公钥。首先使用公钥对数字签名进行解码,之后将解码结果与哈希值进行比较;如果两者相同,那么可以确保message是最初签署的,通过验证,流程如图2所示。
Secure-Boot采用上述数字签名及验证方法。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥,任何想要在这块主板上加载的操作系统或者硬件驱动程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,且用公钥验证通过,才可以加载运行,否则主板拒绝加载。由于恶意软件不可能通过认证,因此可以防止恶意软件侵入。
UEFI规范只对执行启动链的加密验证进行了定义,并没有涉及用于执行这一过程的策略可能产生的问题。如果验证数字签名的公钥被篡改,将导致合法的软件也无法启动。例如,利用软件Dediprog将BIOS或UEFI固件从flash chip中读出来,保存成一个二级制文件,使用编辑软件更改此二进制文件中用于验证Secure-Boot的platform key,再将修改后的二进制文件写入flash chip中,这样就会导致Secure-Boot无法通过数字签名的验证,系统无法正常启动。
发明内容
发明目的:针对现有技术中存在的问题,本发明公开了一种及时弥补Secure-Boot安全漏洞的方法,该方法通过将验证数字签名的platform key在BIOS中备份,避免了在Secure-Boot无法通过数字签名验证时,系统无法正常启动的问题。
技术方案:本发明采用如下技术方案:
一种及时弥补Secure-Boot安全漏洞的方法,包括如下步骤:
步骤1、将用于BIOS或UEFI固件验证数字签名的platform key在BIOS或UEFI固件的存储区域备份;
步骤2、当BIOS或UEFI固件验证数字签名失败时,读取存储区域备份的platform key,重新进行数字签名的验证。
进一步地,步骤1中将platform key加密后再备份至BIOS或UEFI固件的存储区域;
步骤2中读取存储区域备份的platform key后先进行解密,再重新进行数字签名的验证。
有益效果:与现有技术相比,本发明公开的及时弥补Secure-Boot安全漏洞的方法,避免了platform key被篡改引起的无法启动的问题,提高了效率,也增强了Secure-Boot安全机制。
附图说明
图1为数字签名创建流程图;
图2为验证数字签名流程图;
图3为采用本发明公开的弥补Secure-Boot安全漏洞的方法进行数字签名验证的流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
一种及时弥补Secure-Boot安全漏洞的方法,包括如下步骤:
步骤1、将用于BIOS或UEFI固件验证数字签名的platform key在BIOS或UEFI固件的存储区域备份;对platform key可以加密后再进行备份;
步骤2、Secure-Boot启动时首先获取主板上内置的platform key来验证数字签名,如果验证成功,则Secure-Boot完成,如图3所示;
如果步骤1中对platform key加密后备份,则步骤2中读取存储区域备份的platform key后先进行解密,再重新进行数字签名的验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京百敖软件有限公司,未经南京百敖软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710249099.2/2.html,转载请声明来源钻瓜专利网。