CN105138378B - 一种bios刷写方法及电子设备 - Google Patents
一种bios刷写方法及电子设备 Download PDFInfo
- Publication number
- CN105138378B CN105138378B CN201510586709.9A CN201510586709A CN105138378B CN 105138378 B CN105138378 B CN 105138378B CN 201510586709 A CN201510586709 A CN 201510586709A CN 105138378 B CN105138378 B CN 105138378B
- Authority
- CN
- China
- Prior art keywords
- bios
- chinese ink
- brush dipped
- mode
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开一种BIOS刷写方法和电子设备,所述方法及电子设备在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件,并识别实现BIOS刷写需采用的刷写模式,在此基础上,依据所识别出的刷写模式,对所述目标BIOS文件执行相应的刷写处理操作,以实现向所述电子设备的BIOS芯片刷写BIOS。可见本申请在刷写BIOS时,通过识别需采用的刷写模式,并触发与识别出的刷写模式相匹配的刷写处理操作,实现了对不同模式下BIOS刷写过程的支持,降低了BIOS刷写场景的复杂性。
Description
技术领域
本发明属于固件的安全刷写技术领域,尤其涉及一种BIOS(Basic Input OutputSystem,基本输入输出***)刷写方法及电子设备。
背景技术
Secure Flash是符合NIST-SP800-147国际安全标准的一种BIOS刷写方案,BIOSGuard是新推出的同样符合所述标准的一个增强型安全机制,包含BIOS安全刷写内容,可实现刷写BIOS。
目前,Secure Flash模式下的BIOS刷写工具不兼容BIOS guard,无法支持BIOSguard模式下的BIOS刷写过程,导致Secure Flash模式的BIOS刷写方案,及BIOS Guard模式的BIOS刷写方案无法共用一套刷写工具,进而会造成厂商和用户在内BIOS刷写场景的复杂性。
发明内容
有鉴于此,本发明的目的在于提供一种BIOS刷写方法及电子设备,旨在解决BIOS刷写工具对以上两种模式BIOS刷写方案的兼容问题,从而降低BIOS刷写场景的复杂性。
为此,本发明公开如下技术方案:
一种基本输入输出***BIOS刷写方法,应用于电子设备,所述方法包括:
在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件;
识别实现BIOS刷写需采用的刷写模式;
对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理。
上述方法,优选的,所述目标BIOS文件为经过签名认证的BIOS文件。
上述方法,优选的,所述识别实现BIOS刷写需采用的刷写模式包括:
读取预置的模式标志位的数值;所述模式标志位的数值由所述电子设备在开机时依据侦测的硬件情况所设定;
如果所述模式标志位的数值表征BIOS guard模式开启,则识别出实现BIOS刷写需采用的刷写模式为BIOS guard模式;
如果所述模式标志位的数值表征BIOS guard模式未开启,则识别出实现BIOS刷写需采用的刷写模式为Secure Flash模式。
上述方法,优选的,如果识别出需采用的刷写模式为BIOS guard模式,则所述对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理,包括:
复制所述目标BIOS文件至所述电子设备的中央处理器CPU上的AC-RAM;
基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件进行合法性验证及BIOS刷写。
上述方法,优选的,在基于BIOS guard模式进行BIOS刷写时,屏蔽刷所述电子设备BIOS芯片中保留区块的数据。
上述方法,优选的,还包括:
在BIOS刷写结束后,将BIOS中的***管理接口SMBIOS数据从启动区块移动至非易失性随机访问存储器NVRAM区块。
上述方法,优选的,还包括:
在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
上述方法,优选的,如果识别出需采用的刷写模式为Secure Flash模式,则所述对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理,包括:
将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
将所述二进制文件封装为一封装包;
复制所述封装包至所述电子设备的***内存;
基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
一种电子设备,包括:
获取模块,用于接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件;
识别模块,用于识别实现BIOS刷写需采用的刷写模式;
刷写模块,用于对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理。
上述电子设备,优选的,所述识别模块包括:
读取单元,用于读取预置的模式标志位的数值;所述模式标志位的数值由所述电子设备在开机时依据侦测的硬件情况所设定;
第一识别单元,用于在所述模式标志位的数值表征BIOS guard模式开启时,识别出实现BIOS刷写需采用的刷写模式为BIOS guard模式;
第二识别单元,用于在所述模式标志位的数值表征BIOS guard模式未开启时,识别出实现BIOS刷写需采用的刷写模式为Secure Flash模式。
上述电子设备,优选的,所述刷写模块包括:
第一复制单元,用于在所述识别模块识别出需采用的刷写模式为BIOS guard模式时,复制所述目标BIOS文件至所述电子设备CPU上的AC-RAM;
第一刷写单元,用于基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件执行合法性验证及BIOS刷写。
上述电子设备,优选的,还包括:
数据转移模块,用于在BIOS刷写结束后,将BIOS中的SMBIOS数据从启动区块移动至NVRAM区块。
上述电子设备,优选的,还包括:
锁定模块,用于在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
上述电子设备,优选的,所述刷写模块包括:
文件转换单元,用于在所述识别模块识别出需采用的刷写模式为secure flash模式时,将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
封装单元,用于将所述二进制文件封装为一封装包;
第二复制单元,用于复制所述封装包至所述电子设备的***内存;
第二刷写单元,用于基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
由以上方案可知,本申请公开的BIOS刷写方法和电子设备,在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件,并识别实现BIOS刷写需采用的刷写模式,在此基础上,依据所识别出的刷写模式,对所述目标BIOS文件执行相应的刷写处理操作,以实现向所述电子设备的BIOS芯片刷写BIOS。可见本申请在刷写BIOS时,通过识别需采用的刷写模式,并触发与识别出的刷写模式相匹配的刷写处理操作,实现了对不同模式下BIOS刷写过程的支持,降低了BIOS刷写场景的复杂性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的一种BIOS刷写方法实施例一的流程图;
图2是本申请提供的一种BIOS刷写方法实施例二的流程图;
图3是本申请提供的一种BIOS刷写方法实施例三的流程图;
图4是本申请提供的一种BIOS刷写方法实施例四的流程图;
图5是本申请提供的一种BIOS刷写方法实施例五的流程图;
图6是本申请提供的一种电子设备实施例六的结构示意图;
图7是本申请提供的一种电子设备实施例七的结构示意图;
图8是本申请提供的一种电子设备实施例八的结构示意图;
图9是本申请提供的一种电子设备实施例九的结构示意图;
图10是本申请提供的一种电子设备实施例十的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:
BIOS:Basic Input Output System,基本输入输出***,是计算机底层固件,负责开机自检以及上层***资源支持,目前已经发展到为UEFI即统一的可扩展固件接口。BIOS和UEFI可以理解为同义词。
DMI:即SMBIOS,***管理接口,是操作***跟BIOS沟通的一种途径,通过***内存传递数据。
NVRAM:Non-Volatile Random Access Memory,非易失性存储区块,属于BIOS中一个区块,用来存储可变数据。
Secure Flash:现有的符合NIST-SP800-147国际安全标准的刷写BIOS方案。
BIOS guard:也叫PFAT,Intel推出的符合NIST-SP800-147国际安全标准的一个增强型的安全机制,包含BIOS安全刷写内容。
AC-RAM:Authenticated Code RAM(已验证代码存储区),是BIOS Guard模式下使用的CPU上的一个安全内存区块,BIOS guard把经过认证的数据复制到这个CPU的内存块上以确保安全。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参考图1,图1为本申请提供的一种BIOS刷写方法实施例一的流程图,所述方法可应用于台式机、一体机、笔记本电脑等电子设备中,如图1所示,所述方法可以包括以下步骤:
S101:在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件。
由于BIOS guard要求BIOS待刷写文件是经过签名认证的,从而,在实现兼容Secure Flash及BIOS guard等不同模式的BIOS刷写过程时,为了保证待刷写文件对不同模式的通用性,本申请中的待刷写文件需为经过签名认证的BIOS文件。针对此特点,发行商可通过预先采用相应的签名生成环境为BIOS文件生成一层签名,实现直接为用户提供经过签名认证的BIOS文件,以方便用户使用。
S102:识别实现BIOS刷写需采用的刷写模式。
本申请通过在电子设备中预先设置一模式标志位,实现为刷写BIOS文件时的刷写模式识别提供支持,其中,该模式标志位的数值具体由电子设备在开机时依据所侦测的硬件情况所设定。例如具体可通过侦测电子设备的CPU(Central Processing Unit,中央处理器)是否支持BIOS guard,相关产品定义是否支持BIOS guard,以及电子设备是否处于非工厂模式等,来获知电子设备的硬件情况是否适用于BIOS guard模式,最终依据侦测结果,在该模式标志位设置是否开启BIOS guard模式。比如当侦测到CPU支持BIOS guard、相关产品定义支持BIOS guard,且电子设备处于非工厂模式时,可设置开启BIOS guard模式。
本申请假定该标志位被置为1时,表征BIOS guard模式开启,否则,当该标志位被置为0时,则表征BIOS guard模式未开启。
在此基础上,电子设备可通过读取该模式标志位的数值,来识别此次BIOS刷写具体需采用的刷写模式,当读取的模式标志位数值为1时,则需采用的刷写模式为BIOS guard模式,否则,如果读取的模式标志位数值为0,则需采用的刷写模式为Secure Flash模式。
S103:对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理。
当通过模式标志位的数值,识别出需采用的刷写模式为BIOS guard模式时,则本步骤调用并执行BIOS guard模式的BIOS刷写方案进行BIOS刷写;反之,当识别出需采用的刷写模式为Secure Flash模式时,则本步骤调用并执行Secure Flash模式的BIOS刷写方案实现BIOS刷写。
具体地,本实施例预先在BIOS芯片的主区块中分别刷入有Secure Flash及BIOSguard两种模式的服务程序:Secure Flash服务程序及BIOS guard服务程序,其中,SecureFlash服务程序涵盖Secure Flash模式下BIOS刷写方案的各环节处理脚本;BIOS guard服务程序涵盖BIOS guard模式下BIOS刷写方案的各环节处理脚本,从而为两种不同刷写模式下相应BIOS刷写方案的调用提供了支持。
其中,BIOS guard模式兼容原有Secure Flash模式下的各种参数,例如负责刷写主区块的参数P、负责刷写启动区块的参数B、负责刷写NVRAM(Non-Volatile RandomAccess Memory,非易失性随机访问存储器)区块的参数N、负责刷写保留区块的参数L以及负责保留用户设定的参数SP等等。从而,在构建BIOS guard服务程序时,可直接把各参数在Secure Flash下的行为转化为采用BIOS guard模式下的脚本程序实现其功能。
由以上方案可知,本申请公开的BIOS刷写方法,在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件,并识别实现BIOS刷写需采用的刷写模式,在此基础上,依据所识别出的刷写模式,对所述目标BIOS文件执行相应的刷写处理操作,以实现向所述电子设备的BIOS芯片刷写BIOS。可见本申请在刷写BIOS时,通过识别需采用的刷写模式,并触发与识别出的刷写模式相匹配的刷写处理操作,实现了对不同模式下BIOS刷写过程的支持,降低了BIOS刷写场景的复杂性。
实施例二
参考图2,图2为本申请提供的一种BIOS刷写方法实施例二的流程图,本实施例二提供BIOS guard模式下的BIOS刷写过程,如图1所示,当识别出需采用的刷写模式为BIOSguard模式时,所述步骤S103可以通过以下步骤实现:
S201:复制所述目标BIOS文件至所述电子设备CPU上的AC-RAM;
S202:基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件进行合法性验证及BIOS刷写。
其中,AC-RAM为BIOS Guard模式下使用的CPU上的一个安全内存区块。在刷写BIOS时,BIOS guard把经过签名认证的待刷写BIOS数据复制到CPU的该内存块上以确保安全,在此基础上,通过调用BIOS主区块的BIOS guard服务程序,实现对该安全区块上的待刷BIOS数据进行合法性验证及BIOS刷写,从而实现在BIOS Guard模式下向BIOS芯片刷写BIOS数据。本实施例在BIOSguard模式下进行BIOS刷写时,屏蔽刷BIOS芯片中保留区块的参数,从而使该区块仍然可以兼容原有刷写模式(例如Secure Flash)的脚本。
实施例三
参考图3,图3为本申请提供的一种BIOS刷写方法实施例三的流程图,本实施例三提供Secure Flash模式下的BIOS刷写过程,如图3所示,当识别出需采用的刷写模式为Secure Flash模式时,所述步骤S103可以通过以下步骤实现:
S301:将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
S302:将所述二进制文件封装为一封装包;
S303:复制所述封装包至所述电子设备的***内存;
S304:基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
由于待刷文件为具有一层签名的BIOS文件,因此,在Secure Flash模式下刷写BIOS时,需首先从待刷写的BIOS文件中剥离掉符合BIOS guard格式文件的签名认证部分,实现将其转换为符合Secure Flash刷写格式的二进制文件;之后将该二进制文件封装为一封装包,并将其复制到电子设备的***内存中。
在此基础上,可通过重启电子设备,并调用电子设备BIOS主区块中预先刷写的Secure Flash服务程序,实现对内存中的待刷BIOS封装包进行合法性验证及BIOS刷写,从而实现了Secure Flash模式下的BIOS刷写过程。
实施例四
参考图4,图4为本申请提供的一种BIOS刷写方法实施例四的流程图,其中,在基于BIOS guard模式完成BIOS刷写后,所述方法还可以包括以下步骤:
S401:在BIOS刷写结束后,将BIOS中的SMBIOS(System Management BIOS,***管理接口)数据从启动区块移动至NVRAM区块。
由于BIOS guard需要锁定BIOS启动区块和主区块,而SMBIOS等需要变更的数据存在于启动区块中,为方便BIOS锁定之后仍然可以对SMBIOS数据进行更新,本实施例在BIOS刷写结束后,通过将SMBIOS数据从BIOS芯片的启动区块移动至NVRAM区块,来避免SMBIOS数据被锁定。
实施例五
参考图5,图5为本申请提供的一种BIOS刷写方法实施例五的流程图,其中,在基于BIOS guard模式完成BIOS刷写后,所述方法还可以包括以下步骤:
S501:在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
由于BIOS guard需要锁定BIOS启动区块和主区块,为避免影响BIOS开机自检过程中对BIOS数据的读写,本申请将BIOS锁定动作转移至BIOS开机自检结束需启动操作***的节点执行,从而可确保BIOS开机自检过程中对BIOS数据的正常读写。
实施例六
参考图6,图6为本申请提供的一种电子设备实施例六的结构示意图,所述电子设备具体可以是台式机、一体机、笔记本电脑等,如图6所示,所述电子设备可以包括:
获取模块100,用于接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件。
由于BIOS guard要求BIOS待刷写文件是经过签名认证的,从而,在实现兼容Secure Flash及BIOS guard等不同模式的BIOS刷写过程时,为了保证待刷写文件对不同模式的通用性,本申请中的待刷写文件需为经过签名认证的BIOS文件。针对此特点,发行商可通过预先采用相应的签名生成环境为BIOS文件生成一层签名,实现直接为用户提供经过签名认证的BIOS文件,以方便用户使用。
识别模块200,用于识别实现BIOS刷写需采用的刷写模式。
所述识别模块200包括读取单元、第一识别单元和第二识别单元。
读取单元,用于读取预置的模式标志位的数值;所述模式标志位的数值由所述电子设备在开机时依据侦测的硬件情况所设定;
第一识别单元,用于在所述模式标志位的数值表征BIOS guard模式开启时,识别出实现BIOS刷写需采用的刷写模式为BIOS guard模式;
第二识别单元,用于在所述模式标志位的数值表征BIOS guard模式未开启时,识别出实现BIOS刷写需采用的刷写模式为Secure Flash模式。
本申请通过在电子设备中预先设置一模式标志位,实现为刷写BIOS文件时的刷写模式识别提供支持,其中,该模式标志位的数值具体由电子设备在开机时依据所侦测的硬件情况所设定。例如具体可通过侦测电子设备的CPU(Central Processing Unit,中央处理器)是否支持BIOS guard,相关产品定义是否支持BIOS guard,以及电子设备是否处于非工厂模式等,来获知电子设备的硬件情况是否适用于BIOS guard模式,最终依据侦测结果,在该模式标志位设置是否开启BIOS guard模式。比如当侦测到CPU支持BIOS guard、相关产品定义支持BIOS guard,且电子设备处于非工厂模式时,可设置开启BIOS guard模式。
本申请假定该标志位被置为1时,表征BIOS guard模式开启,否则,当该标志位被置为0时,则表征BIOS guard模式未开启。
在此基础上,电子设备可通过读取该模式标志位的数值,来识别此次BIOS刷写具体需采用的刷写模式,当读取的模式标志位数值为1时,则需采用的刷写模式为BIOS guard模式,否则,如果读取的模式标志位数值为0,则需采用的刷写模式为Secure Flash模式。
刷写模块300,用于对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理。
当通过模式标志位的数值,识别出需采用的刷写模式为BIOS guard模式时,则本模块调用并执行BIOS guard模式的BIOS刷写方案进行BIOS刷写;反之,当识别出需采用的刷写模式为Secure Flash模式时,则本模块调用并执行Secure Flash模式的BIOS刷写方案实现BIOS刷写。
具体地,本实施例预先在BIOS芯片的主区块中分别刷入有Secure Flash及BIOSguard两种模式的服务程序:Secure Flash服务程序及BIOS guard服务程序,其中,SecureFlash服务程序涵盖Secure Flash模式下BIOS刷写方案的各环节处理脚本;BIOS guard服务程序涵盖BIOS guard模式下BIOS刷写方案的各环节处理脚本,从而为两种不同刷写模式下相应BIOS刷写方案的调用提供了支持。
其中,BIOS guard模式兼容原有Secure Flash模式下的各种参数,例如负责刷写主区块的参数P、负责刷写启动区块的参数B、负责刷写NVRAM(Non-Volatile RandomAccess Memory,非易失性随机访问存储器)区块的参数N、负责刷写保留区块的参数L以及负责保留用户设定的参数SP等等。从而,在构建BIOS guard服务程序时,可直接把各参数在Secure Flash下的行为转化为采用BIOS guard模式下的脚本程序实现其功能。
由以上方案可知,本申请公开的电子设备,在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件,并识别实现BIOS刷写需采用的刷写模式,在此基础上,依据所识别出的刷写模式,对所述目标BIOS文件执行相应的刷写处理操作,以实现向所述电子设备的BIOS芯片刷写BIOS。可见本申请在刷写BIOS时,通过识别需采用的刷写模式,并触发与识别出的刷写模式相匹配的刷写处理操作,实现了对不同模式下BIOS刷写过程的支持,降低了BIOS刷写场景的复杂性。
实施例七
参考图7,图7为本申请提供的一种电子设备实施例七的结构示意图,其中,所述刷写模块300包括:
第一复制单元311,用于在所述识别模块200识别出需采用的刷写模式为BIOSguard模式时,复制所述目标BIOS文件至所述电子设备CPU上的AC-RAM;
第一刷写单元312,用于基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件执行合法性验证及BIOS刷写。
本实施例七提供BIOS guard模式下的BIOS刷写过程。
其中,AC-RAM为BIOS Guard模式下使用的CPU上的一个安全内存区块。在刷写BIOS时,BIOS guard把经过签名认证的待刷写BIOS数据复制到CPU的该内存块上以确保安全,在此基础上,通过调用BIOS主区块的BIOS guard服务程序,实现对该安全区块上的待刷BIOS数据进行合法性验证及BIOS刷写,从而实现在BIOS Guard模式下向BIOS芯片刷写BIOS数据。本实施例在BIOS guard模式下进行BIOS刷写时,屏蔽刷BIOS芯片中保留区块的参数,从而使该区块仍然可以兼容原有刷写模式(例如Secure Flash)的脚本。
实施例八
参考图8,图8为本申请提供的一种电子设备实施例八的结构示意图,其中,所述刷写模块300包括:
文件转换单元321,用于在所述识别模块200识别出需采用的刷写模式为secureflash模式时,将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
封装单元322,用于将所述二进制文件封装为一封装包;
第二复制单元323,用于复制所述封装包至所述电子设备的***内存;
第二刷写单元324,用于基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
本实施例八提供Secure Flash模式下的BIOS刷写过程。
由于待刷文件为具有一层签名的BIOS文件,因此,在Secure Flash模式下刷写BIOS时,需首先从待刷写的BIOS文件中剥离掉符合BIOS guard格式文件的签名认证部分,实现将其转换为符合Secure Flash刷写格式的二进制文件;之后将该二进制文件封装为一封装包,并将其复制到电子设备的***内存中。
在此基础上,可通过重启电子设备,并调用电子设备BIOS主区块中预先刷写的Secure Flash服务程序,实现对内存中的待刷BIOS封装包进行合法性验证及BIOS刷写,从而实现了Secure Flash模式下的BIOS刷写过程。
实施例九
参考图9,图9为本申请提供的一种电子设备实施例九的结构示意图,其中,所述电子设备还可以包括:
数据转移模块400,用于在基于BIOS guard模式完成BIOS刷写后,将BIOS中的SMBIOS数据从启动区块移动至NVRAM区块。
由于BIOS guard需要锁定BIOS启动区块和主区块,而SMBIOS等需要变更的数据存在于启动区块中,为方便BIOS锁定之后仍然可以对SMBIOS数据进行更新,本实施例在BIOS刷写结束后,通过将SMBIOS数据从BIOS芯片的启动区块移动至NVRAM区块,来避免SMBIOS数据被锁定。
实施例十
参考图10,图10为本申请提供的一种电子设备实施例十的结构示意图,其中,所述电子设备还可以包括:
锁定模块500,用于在基于BIOS guard模式完成BIOS刷写后,在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
由于BIOS guard需要锁定BIOS启动区块和主区块,为避免影响BIOS开机自检过程中对BIOS数据的读写,本申请将BIOS锁定动作转移至BIOS开机自检结束需启动操作***的节点执行,从而可确保BIOS开机自检过程中对BIOS数据的正常读写。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上***或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种基本输入输出***BIOS刷写方法,其特征在于,应用于电子设备,所述方法包括:
在接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件;
识别实现BIOS刷写需采用的刷写模式;
对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理;
其中,进行BIOS刷写的刷写模式至少包括BIOS Guard模式,若所识别出的实现BIOS刷写需采用的刷写模式为BIOS Guard模式,则在基于BIOS guard模式进行BIOS刷写时,屏蔽刷所述电子设备BIOS芯片中保留区块的数据。
2.根据权利要求1所述的方法,其特征在于,所述目标BIOS文件为经过签名认证的BIOS文件。
3.根据权利要求2所述的方法,其特征在于,所述识别实现BIOS刷写需采用的刷写模式包括:
读取预置的模式标志位的数值;所述模式标志位的数值由所述电子设备在开机时依据侦测的硬件情况所设定;
如果所述模式标志位的数值表征BIOS guard模式开启,则识别出实现BIOS刷写需采用的刷写模式为BIOS guard模式;
如果所述模式标志位的数值表征BIOS guard模式未开启,则识别出实现BIOS刷写需采用的刷写模式为Secure Flash模式。
4.根据权利要求3所述的方法,其特征在于,如果识别出需采用的刷写模式为BIOSguard模式,则所述对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理,包括:
复制所述目标BIOS文件至所述电子设备的中央处理器CPU上的已验证代码存储区AC-RAM;
基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件进行合法性验证及BIOS刷写。
5.根据权利要求4所述的方法,其特征在于,还包括:
在BIOS刷写结束后,将BIOS中的***管理接口SMBIOS数据从启动区块移动至非易失性随机访问存储器NVRAM区块。
6.根据权利要求5所述的方法,其特征在于,还包括:
在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
7.根据权利要求3所述的方法,其特征在于,如果识别出需采用的刷写模式为SecureFlash模式,则所述对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理,包括:
将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
将所述二进制文件封装为一封装包;
复制所述封装包至所述电子设备的***内存;
基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
8.一种电子设备,其特征在于,包括:
获取模块,用于接收到用户的BIOS刷写请求时,获取待刷写的目标BIOS文件;
识别模块,用于识别实现BIOS刷写需采用的刷写模式;
刷写模块,用于对所述目标BIOS文件执行与所述刷写模式相对应的刷写处理;
其中,进行BIOS刷写的刷写模式至少包括BIOS Guard模式,若所述识别模块识别出的实现BIOS刷写需采用的刷写模式为BIOS Guard模式,则所述刷写模块在基于BIOS guard模式进行BIOS刷写时,屏蔽刷所述电子设备BIOS芯片中保留区块的数据。
9.根据权利要求8所述的电子设备,其特征在于,所述识别模块包括:
读取单元,用于读取预置的模式标志位的数值;所述模式标志位的数值由所述电子设备在开机时依据侦测的硬件情况所设定;
第一识别单元,用于在所述模式标志位的数值表征BIOS guard模式开启时,识别出实现BIOS刷写需采用的刷写模式为BIOS guard模式;
第二识别单元,用于在所述模式标志位的数值表征BIOS guard模式未开启时,识别出实现BIOS刷写需采用的刷写模式为Secure Flash模式。
10.根据权利要求9所述的电子设备,其特征在于,所述刷写模块包括:
第一复制单元,用于在所述识别模块识别出需采用的刷写模式为BIOS guard模式时,复制所述目标BIOS文件至所述电子设备CPU上的AC-RAM;
第一刷写单元,用于基于BIOS guard刷写要求,对AC-RAM中的所述目标BIOS文件执行合法性验证及BIOS刷写。
11.根据权利要求10所述的电子设备,其特征在于,还包括:
数据转移模块,用于在BIOS刷写结束后,将BIOS中的SMBIOS数据从启动区块移动至NVRAM区块。
12.根据权利要求11所述的电子设备,其特征在于,还包括:
锁定模块,用于在BIOS开机自检结束且未启动操作***时,锁定BIOS芯片启动区块和主区块中的数据。
13.根据权利要求9所述的电子设备,其特征在于,所述刷写模块包括:
文件转换单元,用于在所述识别模块识别出需采用的刷写模式为secure flash模式时,将所述目标BIOS文件转换为符合Secure Flash刷写格式的二进制文件;
封装单元,用于将所述二进制文件封装为一封装包;
第二复制单元,用于复制所述封装包至所述电子设备的***内存;
第二刷写单元,用于基于Secure Flash刷写要求,对内存中的所述封装包进行合法性验证及BIOS刷写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586709.9A CN105138378B (zh) | 2015-09-15 | 2015-09-15 | 一种bios刷写方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510586709.9A CN105138378B (zh) | 2015-09-15 | 2015-09-15 | 一种bios刷写方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138378A CN105138378A (zh) | 2015-12-09 |
CN105138378B true CN105138378B (zh) | 2019-06-25 |
Family
ID=54723735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510586709.9A Active CN105138378B (zh) | 2015-09-15 | 2015-09-15 | 一种bios刷写方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138378B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107817981B (zh) * | 2017-11-23 | 2021-12-10 | 合肥联宝信息技术有限公司 | 一种嵌入式控制器的控制方法及电子设备 |
CN108170495B (zh) * | 2018-01-29 | 2021-04-02 | 苏州浪潮智能科技有限公司 | 一种bios升级方法、***、设备及计算机可读存储介质 |
CN111176686B (zh) * | 2019-12-29 | 2022-03-22 | 山东英信计算机技术有限公司 | 一种bios升级方法、***、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119553A (zh) * | 2010-09-22 | 2013-05-22 | 英特尔公司 | 平台固件铠装技术 |
US9424434B2 (en) * | 2014-01-29 | 2016-08-23 | Wistron Corp. | Personal electronic device and data theft prevention system and method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364193A (zh) * | 2007-08-06 | 2009-02-11 | 英业达股份有限公司 | 自动恢复bios的方法以及使用该方法的电脑与*** |
-
2015
- 2015-09-15 CN CN201510586709.9A patent/CN105138378B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119553A (zh) * | 2010-09-22 | 2013-05-22 | 英特尔公司 | 平台固件铠装技术 |
US9092632B2 (en) * | 2010-09-22 | 2015-07-28 | Intel Corporation | Platform firmware armoring technology |
US9424434B2 (en) * | 2014-01-29 | 2016-08-23 | Wistron Corp. | Personal electronic device and data theft prevention system and method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN105138378A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110310205B (zh) | 一种区块链数据监控方法、装置、设备和介质 | |
CN103530563B (zh) | 用于更新经授权软件的***和方法 | |
US8060934B2 (en) | Dynamic trust management | |
TWI380216B (en) | System and method for automated operating system installation | |
US8923520B2 (en) | System and method for recovery key management | |
CN110263545B (zh) | 一种基于Android***的启动过程完整性度量检测方法 | |
CN107292176A (zh) | 用于访问计算设备的可信平台模块的方法和*** | |
CN106682497A (zh) | 在管理程序模式下安全执行代码的***和方法 | |
US20070006290A1 (en) | USB-compliant personal key | |
CN104200153A (zh) | 一种启动验证方法和*** | |
JP2013538404A (ja) | 起動プロセスの際の対話型コンポーネントの使用の認証 | |
US9734311B1 (en) | Secure authentication of firmware configuration updates | |
CN1965281A (zh) | 具有多进程结构的用于运行插件程序代码模块的计算装置 | |
CN101379504B (zh) | 用于复合应用的基于角色的访问控制管理的方法及*** | |
CN105138378B (zh) | 一种bios刷写方法及电子设备 | |
CN110070360B (zh) | 一种事务请求处理方法、装置、设备及存储介质 | |
CN117378173A (zh) | 经由安全处理器计算设备的所有权的转移 | |
CN105825131A (zh) | 一种基于uefi的计算机安全启动防护方法 | |
CN114089975A (zh) | 计算软件的扩展方法、装置、非易失性存储介质及处理器 | |
US9659156B1 (en) | Systems and methods for protecting virtual machine program code | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN112613011B (zh) | U盘***认证方法、装置、电子设备及存储介质 | |
CN108491249B (zh) | 一种基于模块权能的内核模块隔离方法及*** | |
CN104023014A (zh) | 数据访问权限的控制方法及*** | |
CN107368738A (zh) | 一种智能设备的防Root方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |