一种基本输入输出系统的更新方法和装置与流程

文档序号:11707973阅读:206来源:国知局
一种基本输入输出系统的更新方法和装置与流程

本发明的实施例涉及计算机技术领域,尤其涉及一种基本输入输出系统的更新方法和装置。



背景技术:

基本输入输出系统(bios,basicinput/outputsystem)中包括了计算机在运行过程中会使用到的一些基本的系统参数,如系统硬件参数、主要i/o设备的驱动程序及基本的终端服务等。bios控制着系统全部硬件的运行,同时为高层软件提供基层调用。

为了对计算机增加新的功能或者弥补原有的设计缺陷,需要对计算机的bios进行更新。在现有的bios更新进程中,服务器上存储的bios更新文件在完成系统资源表esrt(如全局唯一标识符guid和计算机硬件标识符chid)的验证之后,将被推送到相应的计算机。此时,计算机可以运行接收到的bios更新文件以完成bios更新。

然而,在当前的bios更新机制下,计算机无法识别所接收的bios更新文件的真伪。如果系统资源表中的guid和chid相关内容被黑客获取,黑客可以根据这些信息制作一个带病毒的伪bios更新文件并进行推送。一旦计算机系统接收并运行了这一伪bios更新文件,可能会导致系统瘫痪。



技术实现要素:

根据本发明的一个方面,提供了一种基本输入输出系统的更新方法,其中,所述方法包括:接收更新文件;对所述更新文件进行安全验证;根据所述安全验证结果确定是否进行更新。

根据本发明的另一个方面,提供了一种基本输入输出系统的更新装置,其中,所述装置包括:接收单元,配置为接收更新文件;验证单元,配置为对所述更新文件进行安全验证;更新单元,配置为根据所述安全验证结果确定是否进行更新。

在根据本发明提供的基本输入输出系统的更新方法和装置中,可以使计算机系统对接收到的bios更新文件进行安全验证,并根据安全验证的结果来决定是否进行bios更新。这一做法大大提高了系统的安全性,避免了病毒文件对系统的入侵和对bios的破坏。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示意性图示了bios的功能模块示意图;

图2示意性图示了根据本发明实施例的bios更新方法的流程图;

图3示意性图示了根据本发明实施例的bios更新装置的框图;

图4示意性图示了根据本发明实施例的bios更新装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

图1示出了bios的功能模块示意图。bios负责在计算机开启过程中进行系统检测、设备初始化、操作系统加载以及完成操作系统和硬件设备间的指令调度工作,是计算机操作系统和硬件的桥梁。在一些操作系统中,如win10中,会要求进行bioswu(bioswindowsupdate)的更新,在bios更新过程中,首先需要在服务器(例如云服务器)中判断是否能够获取bios更新文件,当发现具有对应主板型号的bios更新文件之后,可以对bios更新文件从服务器端进行下载,并将下载的升级程序和/或数据文件进行解压缩,存储至计算机中。当下载和存储操作完成之后,可以重启并调用固件更新协议(firmwareupdateprotocol),准备进行bios升级,并将所存储的更新文件在内存中的地址作为指令发送给bios,以使bios根据相应的地址获取更新文件内容。一般来说,bios将根据所获取的更新文件直接升级,而没有对更新文件安全性和/或来源的相应验证过程。在上述步骤中,如果所获取的是黑客根据得到的系统资源表中的guid和chid相关内容制作的带病毒的伪bios更新文件,则可能会导致计算机系统的瘫痪和程序崩溃。考虑到bios对于计算机系统的重要的不可替代的地位,提高bios更新的安全性,防范系统漏洞已成为一个十分重要的课题。

考虑到上述因素,本发明实施例提出如下的bios更新方法。图2示出根据本发明实施例的bios更新方法200的流程图,所述方法可以由计算机执行。

如图2所示,在步骤s201中,接收更新文件。计算机所接收的bios更新文件可以是下载自云端服务器(如微软服务器)的更新文件。当esrt表格的guid和chid经验证被确认为正确后,云端服务器将推送bios更新文件至相应的计算机。其中,全局唯一标识符(guid,globallyuniqueidentifier)是一种由算法生成的二进制长度为128位的数字标识符。guid主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的guid;而计算机硬件标识符chid为与计算机硬件编号一一对应的标识符,也是跟计算机硬件绑定的唯一的不可重复的标识符之一。以上对于esrt表格的guid和chid的验证仅为示例,在实际的bios更新文件下载过程中,还可以采用其他任何验证方式,只要确认所下载的bios文件与当前计算机可以对应,并且能够应用于当前计算机的更新即可。

在本发明实施例中,bios更新文件中将包含用于安全验证的bios文件签名、文件校验码或bios标识符(biosid)等信息。其中,bios文件签名可以为bios文件的数字签名,文件的数字签名可以用来作为加密信息进行签名验证。文件校验码又叫文件指纹验证,可以根据预设算法对具体的bios更新文件进行校验,另外,biosid也可以是计算机本身bios所对应的硬件id或cpu或硬件级芯片信息等,是黑客无法轻易获取的。

步骤s202中,对所述更新文件进行安全验证。

当计算机系统接收到服务器推送的bios更新文件之后,操作系统可以重启并调用固件更新协议(firmwareupdateprotocol),准备进行bios升级。此时,bios在接收到固件更新协议传送的bios更新文件之后,将对其中的文件签名、文件校验码和/或bios标识符等进行安全验证,以确定bios更新文件是否安全。例如,在本发明一个实施例中,可以通过bios文件签名即bios文件的数字签名进行安全验证,具体地,可以利用例如私钥对文件进行加密,从而对文件签名,并且根据获取的签名文件和相应的公钥解密文件进行签名验证,从而确认所述bios文件的数字签名是否符合相应的预设算法,并确认此bios更新文件是否为合法文件。在本发明另一个实施例中,可以利用文件校验码根据预设算法对具体的bios更新文件进行校验,其中,校验码(例如mac)可以是发送方和接收放约定的一个特定的数值串,当发送方发送文件时,将文件内容加上校验码一起进行hash计算(其中校验码不随文件一同发送),此时第三方尽管截获到此文件,由于没有校验码,因此无法再计算出正确的hash值。当接收方拿到文件时,将文件同自身拥有的mac一起进行校验对比hash值,即可判定文件是否是发送方发过来的原文件。另外,在本发明另一个实施例中,还可以通过黑客无法获悉的包含cpu或硬件级芯片信息的密钥进行安全验证。以上所述仅为示例,在实际应用中,可以采用任何其他安全验证的方法进行bios更新文件的安全验证,也可以采用各种安全验证方法相结合的方式对bios更新文件进行多次验证。

在步骤s203中,根据所述安全验证结果确定是否进行更新。

在本步骤中,首先根据s202中的安全验证步骤确定安全验证的结果。当bios更新文件的安全验证通过时,则说明更新文件安全,可以进行bios更新,具体的更新过程可以与传统的bios更新过程相同。而当安全验证未通过时,则说明此bios更新文件可能是黑客通过获取的系统资源表信息伪造的bios更新文件,具有安全隐患,不能采用此bios更新文件进行更新。

在本发明实施例中,安全验证未通过可以指对bios更新文件进行一次安全验证时没有通过;也可以指当对bios更新文件进行多次验证时,其中的一次或几次验证未通过,或者所有验证均未通过。在实际应用中,可以根据计算机系统的具体操作场景选择安全验证未通过的确定条件。

在本发明一个实施例中,当对bios更新文件的安全验证未通过时,可以提示所接收的bios更新文件为非法文件,进行报警,并不进行bios更新。可选地,可以删除此bios更新文件,并且可以关闭bios的windowsupdate的功能。此外,当怀疑未通过安全验证的bios更新文件可能是由于esrt表格泄漏导致时,可以自动删除esrt表格,并不再将此表格向系统和服务器发送,以提高系统的安全性。

本发明实施例的基本输入输出系统的更新方法可以使计算机系统对接收到的bios更新文件进行安全验证,并根据安全验证的结果来决定是否进行bios更新。这一做法大大提高了系统的安全性,避免了病毒文件对系统的入侵和对bios的破坏。

下面,参照图3来描述根据本发明实施例的基本输入输出系统的更新装置的框图。该装置可以执行上述基本输入输出系统的更新方法。由于该装置的操作与上文所述的基本输入输出系统的更新方法的各个步骤基本相同,因此在这里只对其进行简要的描述,而省略对相同内容的重复描述。

如图3所示,装置300包括接收单元310、验证单元320和更新单元330。需要认识到,图3仅示出与本发明的实施例相关的部件,而省略了其他部件,但这只是示意性的,根据需要,装置300可以包括其他部件。

如图3所示,接收单元310接收更新文件。接收单元310所接收的bios更新文件可以是下载自云端服务器(如微软服务器)的更新文件。当esrt表格的guid和chid经验证被确认为正确后,云端服务器将推送bios更新文件至相应计算机的接收单元310。其中,全局唯一标识符(guid,globallyuniqueidentifier)是一种由算法生成的二进制长度为128位的数字标识符。guid主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的guid;而计算机硬件标识符chid为与计算机硬件编号一一对应的标识符,也是跟计算机硬件绑定的唯一的不可重复的标识符之一。以上对于esrt表格的guid和chid的验证仅为示例,在实际的bios更新文件下载过程中,还可以采用其他任何验证方式,只要确认所下载的bios文件与当前计算机可以对应,并且能够应用于当前计算机的更新即可。

在本发明实施例中,bios更新文件中将包含用于安全验证的bios文件签名、文件校验码或bios标识符(biosid)等信息。其中,bios文件签名可以为bios文件的数字签名,文件的数字签名可以用来作为加密信息进行签名验证。文件校验码又叫文件指纹验证,可以根据预设算法对具体的bios更新文件进行校验,另外,biosid也可以是计算机本身bios所对应的硬件id或cpu或硬件级芯片信息等,是黑客无法轻易获取的。验证单元320对所述更新文件进行安全验证。

当接收单元310接收到服务器推送的bios更新文件之后,可以重启操作系统并调用固件更新协议(firmwareupdateprotocol),准备进行bios升级。此时,在接收到固件更新协议传送的bios更新文件之后,验证单元320将对其中的文件签名、文件校验码和/或bios标识符等进行安全验证,以确定bios更新文件是否安全。例如,在本发明一个实施例中,验证单元320可以通过bios文件签名即bios文件的数字签名进行安全验证,具体地,可以利用例如私钥对文件进行加密,从而对文件签名,并且根据获取的签名文件和相应的公钥解密文件进行签名验证,从而确认所述bios文件的数字签名是否符合相应的预设算法,并确认此bios更新文件是否为合法文件。在本发明另一个实施例中,可以利用文件校验码根据预设算法对具体的bios更新文件进行校验,其中,校验码(例如mac)可以是发送方和接收放约定的一个特定的数值串,当发送方发送文件时,将文件内容加上校验码一起进行hash计算(其中校验码不随文件一同发送),此时第三方尽管截获到此文件,由于没有校验码,因此无法再计算出正确的hash值。当接收方拿到文件时,将文件同自身拥有的mac一起进行校验对比hash值,即可判定文件是否是发送方发过来的原文件。另外,在本发明另一个实施例中,验证单元320还可以通过黑客无法获悉的包含cpu或硬件级芯片信息的密钥进行安全验证。以上所述仅为示例,在实际应用中,验证单元320可以采用任何其他安全验证的方法进行bios更新文件的安全验证,也可以采用各种安全验证方法相结合的方式对bios更新文件进行多次验证。

更新单元330根据所述安全验证结果确定是否进行更新。

更新单元330可以根据验证单元320的安全验证结果确定是否进行更新。当验证单元320的安全验证结果为通过时,则说明更新文件安全,更新单元330可以进行bios更新,具体的更新过程可以与传统的bios更新过程相同。而当验证单元320的安全验证为未通过时,则说明此bios更新文件可能是黑客通过获取的系统资源表信息伪造的bios更新文件,具有安全隐患,更新单元330不能采用此bios更新文件进行更新。

在本发明实施例中,验证单元320的安全验证结果未通过可以指验证单元320对bios更新文件进行一次安全验证时没有通过;也可以指当验证单元320对bios更新文件进行多次验证时,其中的一次或几次验证未通过,或者所有验证均未通过。在实际应用中,验证单元320可以根据计算机系统的具体操作场景选择安全验证未通过的确定条件。相应地,更新单元330也可以选择相应的处理结果。

在本发明一个实施例中,当验证单元320对bios更新文件的安全验证未通过时,更新单元330可以提示所接收的bios更新文件为非法文件,进行报警,并不进行bios更新。可选地,更新单元330可以删除此bios更新文件,并且可以关闭bios的windowsupdate的功能。此外,当怀疑未通过安全验证的bios更新文件可能是由于esrt表格泄漏导致时,更新单元330可以自动删除esrt表格,并不再将此表格向系统和服务器发送,以提高系统的安全性。

本发明实施例的基本输入输出系统的更新装置可以使计算机系统对接收到的bios更新文件进行安全验证,并根据安全验证的结果来决定是否进行bios更新。这一做法大大提高了系统的安全性,避免了病毒文件对系统的入侵和对bios的破坏。

下面,将参考图4来描述根据本发明实施例的用于基本输入输出系统的更新装置。图4示出了可用于实现根据本发明实施例的基本输入输出系统的更新装置的框图。

如图4所示,装置400包括一个或多个处理器402、存储器404、输入装置406和输出装置408等,这些组件通过总线系统410和/或其它形式的连接机构(未示出)互连。应当注意,图4所示的装置400的组件和结构只是示例性的,而非限制性的,根据需要,装置400也可以具有其他组件和结构。

处理器402可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制装置400中的其它组件以执行期望的功能。较佳地,处理器402可包括一个或多个处理核心;优选的,处理器402可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器402中。

存储器404可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。存储器404可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据裝置400的使用所创建的数据(比如音频数据、图像数据)等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器402可以运行所述程序指令,以实现以下步骤:接收更新文件;对所述更新文件进行安全验证;根据所述安全验证结果确定是否进行更新。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所接收的更新文件、用于安全验证的私钥信息和/或计算机硬件设备编号等等。

输入装置406可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入装置406可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。较佳的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器402,并能接收处理器402发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入装置406还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

输出装置408可以向外部(例如用户)输出各种信息,例如验证结果等,并且可以包括显示器、投影仪、网卡等中的一个或多个。其中,显示器可用于显示由用户输入的信息或提供给用户的信息以及装置400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器可包括显示面板,较佳地,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器402以确定触摸事件的类型,随后处理器402根据触摸事件的类型在显示面板上提供相应的视觉输出。在本发明实施例中,触敏表面与显示面板可以作为两个独立的部件来实现输入和输入功能,也可以将触敏表面与显示面板集成而实现输入和输出功能。

尽管未示出,装置400还可以包括射频电路、传感器、音频电路、wifi模块、电源及摄像头、蓝牙模块等各个组件。其中,射频电路可用于收发信息过程中信号的接收和发送。特别地,射频电路将信息接收后,例如将bios的更新文件接收后,交由一个或者一个以上处理器402处理;另外,将涉及上行的数据发出。通常,射频电路可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。

传感器可以包括光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别装置姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于装置400还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路以及扬声器、传声器等(未示出)可提供用户与装置400之间的音频接口。音频电路可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路接收后转换为音频数据,再将音频数据输出处理器402处理后,经rf电路以发送给比如另一移动终端,或者将音频数据输出至存储器404以便进一步处理。音频电路还可能包括耳塞插孔,以提供外设耳机与装置400的通信。

为了实现无线通信,该移动终端上可以配置有wifi模块。wifi属于短距离无线传输技术,装置400通过wifi模块可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。可以理解的是,wifi模块370并不属于装置400的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

装置400还可以包括给各个部件供电的电源(未示出),比如电池。优选地,电源可以通过电源管理系统与处理器402逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书中说明的各方式/实施方式的处理步骤、次序、流程图等只要没有矛盾就可以将顺序替换。例如,在本说明书说明的方法以示例的顺序来提示各种步骤的要素,不限于提示的特定的顺序。

在本说明书中说明的各方式/实施方式可以单独使用,也可以组合使用,还可以伴随着执行而进行切换。另外,指定的信息的通知(例如判定“为真”的通知)不限于明显地进行,也可以暗地(例如,不进行该指定信息的通知)地进行。

软件与称作软件、固件、中间件、微代码、硬件描述语言或称作其它名称无关,能够广泛地解释成指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用程序、软件应用程序、软件包、例行程序、子例行程序、对象、可执行文件、执行线程、步骤、功能等意思。

另外,软件、指令等可以经由传送介质来收发信。例如,软件在使用同轴线缆、光纤、双绞线及数字用户线路(dsl)等有线技术及/或红外线、无线及微波等无线技术从网页、服务器、或者其它远程数据源发送的情况下,这些有线技术及/或无线技术包含在传送介质的定义中。

在此公开的方法包括用于实现描述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。

其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上描述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的信息处理方法的具体实现,可以参考产品实施例中的对应描述。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1