CN105446751B - 一种信息处理方法及电子设备 - Google Patents
一种信息处理方法及电子设备 Download PDFInfo
- Publication number
- CN105446751B CN105446751B CN201410302910.5A CN201410302910A CN105446751B CN 105446751 B CN105446751 B CN 105446751B CN 201410302910 A CN201410302910 A CN 201410302910A CN 105446751 B CN105446751 B CN 105446751B
- Authority
- CN
- China
- Prior art keywords
- verification information
- firmware
- electronic equipment
- bios
- update
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种信息处理方法,用于解决现有技术中的EC固件的安全性受到威胁的技术问题,所述方法包括:所述电子设备在启动时,所述电子设备中的基本输入输出系统BIOS生成验证信息,并将所述验证信息进行保存;所述BIOS将所述验证信息发送给所述电子设备中的嵌入式控制器EC;所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。本发明还公开了相应的电子设备。
Description
技术领域
本发明涉及计算机及嵌入式领域,特别涉及一种信息处理方法及电子设备。
背景技术
当前,电子设备中的EC(Embedded Controller,嵌入式控制器)的固件更新流程大致如下:在所述电子设备的操作系统下运行一个软件程序,再在所述软件程序中通过EC端口给EC发送更新EC固件的指令来进行EC固件更新。在此过程中,所述电子设备的CPU处于实模式或保护模式,即处于CPU的ring0级别,其中ring0级别为CPU拥有最高权限的一个特权等级。另外,更新EC固件的代码是写在该软件程序中的,其中,该软件程序为具有以下共性的一类软件程序:当运行所述软件程序时,该软件程序里面的代码会首先加载至电子设备的内存中。这样,在EC固件的更新过程中,存在的安全隐患是,在将所述软件程序的代码加载到内存的过程中,该代码有可能被恶意程序篡改或截获,安全性较差。
因此,可以将更新EC固件的程序和命令放到BIOS(Basic Input Output System,基本输入输出系统)中的SMI handler(System Management Interrupt handler,系统管理中断处理程序)中,因为SMM(System Management Mode,系统管理模式)是一个安全的环境,所以把更新EC固件的程序和命令放到SMM中是比较安全的,其中,SMM只能通过SMI(SystemManagement Interrupt,系统管理中断)进入。
但是,SMM只是一个相对安全的环境。因为在ring0环境中进行EC固件更新,恶意程序还是可能会篡改或截获用于更新EC固件的相关指令,若该指令被篡改,则当EC执行该指令对EC固件进行更新数据写入时,就可能会对EC固件内的数据进行不同程度的破坏。另外,在电子设备的开机启动过程中,EC控制着绝大多数重要信号的时序,若由于恶意软件而对EC固件造成了不同程度的破坏,可能会导致电子设备产生故障,例如无法开机等。
可见,现有技术中存在因发送给EC的用于进行EC固件更新的操作指令可能被篡改而导致EC固件的安全程度降低的技术问题。
发明内容
本发明实施例提供一种信息处理方法,用于解决现有技术中EC固件的安全性受到威胁的技术问题。
一种信息处理方法,应用于电子设备,所述方法包括:
所述电子设备在启动时,所述电子设备中的基本输入输出系统BIOS生成验证信息,并将所述验证信息进行保存;
所述BIOS将所述验证信息发送给所述电子设备中的嵌入式控制器EC;
所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。
可选的,所述电子设备在启动时,所述电子设备中的BIOS生成验证信息,并将所述验证信息进行保存,包括:所述电子设备在启动时,所述BIOS生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
可选的,所述EC接收所述验证信息并进行保存,包括:所述EC接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
可选的,在所述EC将所述验证信息保存于第二位置后,还包括:
所述BIOS向所述EC发送鉴定信息;
所述EC接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;
根据判断结果,所述EC向所述BIOS返回响应消息。
可选的,若所述判断结果为相同,则所述响应消息用于表明所述EC固件的更新环境安全;
若所述判断结果为不相同,则所述响应消息用于表明所述EC固件的更新环境不安全。
可选的,在所述EC向所述BIOS返回响应消息后,还包括:
若所述响应消息用于表明所述EC固件的更新环境安全,所述BIOS向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法;
若合法,所述EC执行所述EC固件更新操作指令,完成所述EC固件的更新。可选的,在所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法后,还包括:
若不合法,所述EC拒绝执行所述EC固件更新操作指令。
可选的,在所述BIOS向所述EC发送鉴定信息之前,还包括:
所述EC接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;
所述EC根据所述验证信息判断所述触发指令是否合法;
若合法,所述EC确定进行所述EC固件的更新。
一种电子设备,所述电子设备包括:
BIOS,用于在所述电子设备启动时,生成验证信息并将所述验证信息进行保存;且将所述验证信息发送给所述电子设备中的EC;
所述EC,用于接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。
可选的,所述BIOS用于在所述电子设备启动时,生成验证信息,并将所述验证信息进行保存,具体可以为:所述BIOS在所述电子设备启动时,生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
可选的,所述EC具体用于:接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
可选的,所述BIOS还用于:在所述EC将所述验证信息保存于第二位置后,向所述EC发送鉴定信息;
所述EC还用于:接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;根据判断结果,向所述BIOS返回响应信息。
可选的,若所述判断结果为相同,则所述响应消息用于表明所述EC固件的更新环境安全;
若所述判断结果为不相同,则所述响应消息用于表明所述EC固件的更新环境不安全。
可选的,所述BIOS还用于:在所述EC向所述BIOS返回响应消息后,若所述响应消息用于表明所述EC固件的更新环境安全,向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC还用于:根据所述验证信息鉴定所述EC固件更新操作指令是否合法;若合法,执行所述EC固件更新操作指令,完成所述EC固件的更新。
可选的,所述EC还用于:在根据所述验证信息鉴定所述EC固件更新操作指令不合法时,拒绝执行所述EC固件更新操作指令。
可选的,所述EC还用于:在所述BIOS向所述EC发送鉴定信息之前,接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;根据所述验证信息判断所述触发指令是否合法;若合法,确定进行所述EC固件的更新。
本发明实施例中,电子设备在系统启动过程中,由BIOS生成一验证信息并进行保存,再将所述验证信息发送给电子设备中的EC,则,在电子设备运行的任意时刻,当EC固件需要更新时,所述EC会接收到用于进行EC固件更新的指令,所述EC可以根据其保存的所述验证信息鉴定用于指示所述EC固件进行更新的信息是否合法,这样,若该操作指令已被篡改,所述EC可以拒绝执行,尽量避免对EC FLASH内的数据进行破坏,增强EC固件的安全性,减小了电子设备产生故障的几率,也相应提高了电子设备的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中信息处理方法的主要流程图;
图2为本发明实施例中电子设备的主要结构框图。
具体实施方式
本发明实施例提供一种信息处理方法,所述方法应用于电子设备,所述方法包括:所述电子设备在启动时,所述电子设备中的基本输入输出系统BIOS生成验证信息,并将所述验证信息进行保存;所述BIOS将所述验证信息发送给所述电子设备中的嵌入式控制器EC;所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。
本发明实施例中,电子设备在系统启动过程中,由BIOS生成一验证信息并进行保存,再将所述验证信息发送给电子设备中的EC,则,在电子设备运行的任意时刻,当EC固件需要更新时,所述EC会接收到用于进行EC固件更新的指令,所述EC可以根据其保存的所述验证信息鉴定用于指示所述EC固件进行更新的信息是否合法,这样,若该操作指令已被篡改,所述EC可以拒绝执行,尽量避免对EC FLASH内的数据进行破坏,增强EC固件的安全性,减小了电子设备产生故障的几率,也相应提高了电子设备的可靠性。
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例中,所述电子设备可以是指手机、PC(个人计算机)、PAD(平板电脑)、智能电视等等不同的电子设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
下面结合附图对本发明优选的实施方式进行详细说明。
在进入本发明中的信息处理方法的流程之前,首先对本发明中的部分概念作出解释,以方便阅读者对本文的理解。
BIOS(Basic Input Output System,基本输入输出系统)是一组固化到所述电子设备主板上一个芯片上的程序,它保存着所述电子设备最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。所述BIOS的主要功能是为所述电子设备提供最底层的、最直接的硬件设置和控制,即,所述BIOS构建了所述电子设备的操作系统和底层硬件之间的桥梁。
EC(Embedded Controller,嵌入式控制器)是一个单片机,一般为16位。它内部本身也有一定容量的Flash(闪存)来存储EC的代码。在所述电子设备的系统开启的过程中,EC控制着绝大多数重要信号的时序。例如,在笔记本电脑中,EC是一直开着的,无论所述笔记本电脑是在开机或是关机状态,除非用户把所述笔记本电脑的电池和Adapter(电源适配器)完全卸除。在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器、充电指示灯以及风扇和其他各种指示灯等设备的控制,它甚至控制着系统的待机、休眠等状态。
总体来说,EC和BIOS都处于所述电子设备的最底层。EC是一个单独的处理器,在所述电子设备开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。
SMM(System Management Mode,系统管理模式)是一种CPU(中央处理器)的执行模式,用于处理系统级的功能。SMM只能由系统固件使用,而不能给应用软件或者一般的系统软件使用。SMM只能通过SMI(System Management Interrupt,系统管理中断)进入。另外,只有SMM模式能够访问SMRAM(System Management Random Access Memory,系统管理随机存取存储器)。
请参见图1,本发明实施例提供一种信息处理方法,所述方法应用于电子设备,所述方法的主要流程描述如下。
步骤101:所述电子设备在启动时,所述电子设备中BIOS生成验证信息,并将所述验证信息进行保存。
本发明实施例中,所述电子设备的启动是指所述电子设备的冷启动或热启动。例如,对于PC来说,冷启动是指在所述PC加电的情况下,按下主机上的电源键启动所述PC的方式,热启动是指所述PC在开机状态下的操作系统启动,例如重启。所述冷启动与所述热启动的区别在与:冷启动需要检测所述PC的内存,而热启动则不需要。
当所述电子设备系统开始启动时,所述BIOS可以自动检测所述EC是否支持安全闪存模式。若不支持,所述BIOS不会生成所述验证信息,直到启动过程结束;若支持,所述BIOS会通过一条指令生成所述验证信息,并将所述验证信息进行保存。
本发明实施例中,所述验证信息可以是指字符串,其中,所述字符串例如可以是英文字符、阿拉伯数字、符号中的一种或几种的组合。所述验证信息的长度可以是任意的。优选的,本发明实施例中,为了尽量保证所述验证信息的安全性,所述验证信息的长度可以至少大于4个字符。
本发明实施例中,由于在所述电子设备系统启动过程中,整个系统中只有BIOS对应的代码在运行,系统的其他任何程序或软件都没有进入运行状态,所以在所述电子设备的系统启动过程中,由所述BIOS生成的所述验证信息是唯一的。在所述电子设备中,只有所述BIOS和所述EC保存有所述验证信息。
可选的,所述电子设备在启动时,所述BIOS生成所述验证信息,并将所述验证信息进行保存,可以包括:所述电子设备在启动时,所述BIOS生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
本发明实施例中,在所述BIOS保存所述验证信息时,可以是保存在所述第一位置。其中,所述第一位置是指所述BIOS中的内存位置,而且,在所述电子设备中,只有所述BIOS能够访问所述第一位置。优选地,所述第一位置可以是指所述电子设备中的SMRAM对应的内存。
所述BIOS将所述验证信息保存于只有所述BIOS能独有访问的内存中,可以避免例如恶意软件的其他不安全的程序对所述验证信息的篡改与窃取,在所述电子设备的运行过程中,尽量保证所述电子设备的安全。
步骤102:所述BIOS将所述验证信息发送给所述电子设备中的EC。
本发明实施例中,在所述电子设备的启动过程中,当所述BIOS生成所述验证信息后,所述BIOS会将所述验证信息发送给所述EC,其中,所述BIOS是通过发送相应的指令进而将所述验证信息发送给所述EC的,所述验证信息可以携带在发送的指令中。
可选的,所述BIOS将所述验证信息保存于所述第一位置、和所述BIOS将所述验证信息发送给所述EC,这两个步骤,执行顺序可以是任意的。
步骤103:所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。
本发明实施例中,在所述EC将所述验证信息保存于所述第二位置后,所述BIOS会自动擦除在所述BIOS生成所述验证信息的过程中,所述BIOS中的堆区、栈区以及寄存器中留下的所述验证信息的痕迹。这样的操作,可以避免电子设备在系统运行过程中,例如恶意软件的其他不安全程序对所述堆区、栈区以及寄存器中留下的所述验证信息的信息痕迹进行窃取,进而也避免了所述不安全程序有可能利用窃取的信息对所述电子设备产生的安全威胁。
本发明实施例中,所述EC固件更新可以是指所述EC固件进行更新或者升级。在所述电子设备运行过程中的任意时刻,当所述EC固件需要更新时,所述EC则可以利用自身存储的所述验证信息对用于指示所述EC固件进行更新的所有指令进行鉴定,以判断相应的指令是否合法,即判断相应的指令是否安全,进而确定相应的指令是否会对所述电子设备产生安全威胁。
可选的,所述EC接收所述验证信息并进行保存,可以包括:所述EC接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
本发明实施例中,所述EC接收所述BIOS发送的所述验证信息后,会将所述验证信息进行保存于所述第二位置。其中,所述第二位置是指所述EC中的内存位置,而且,所述第二位置,在所述电子设备中,只有所述EC能够访问。优选地,所述第二位置可以是指所述电子设备中的EC RAM或者ECFLASH对应的内存。所述第一位置与所述第二位置为所述电子设备中不同的内存位置。
所述EC将所述验证信息保存于只有所述EC能独有访问的内存中,避免例如恶意软件的其他不安全的程序的篡改与窃取,在所述电子设备的运行过程中,尽量保证所述电子设备的安全。
可选的,在所述EC将所述验证信息保存于所述第二位置后,还可以包括:所述BIOS向所述EC发送鉴定信息;所述EC接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;根据判断结果,所述EC向所述BIOS返回响应消息。
本发明实施例中,当所述EC中的EC固件更新指令被触发后,开始进入EC固件更新流程。所述电子设备操作系统下面的软件程序会产生SW SMI(Software SMI,软件系统管理中断),并将经过签名的EC固件文件包读取到内存中,然后传递给BIOS SMI handler,其中,所述经过签名的EC固件文件包是用于给所述EC固件更新提供更新资源的文件。
其中,EC固件文件包的签名方式可以是通过非对称加密算法进行加密解密的,例如,所述签名方式可以是这样的:所述电子设备预先生成一对key pair(配对密钥,分为公钥和私钥),使用私钥签名所述EC固件文件包,同时将公钥保存在所述BIOS中,再由所述BIOS持有的所述公钥来校验用私钥签名的EC固件文件包。在此过程中,确保是在所述BIOSSMI handler中对EC固件进行签名校验,以保证所述EC固件文件包的内容没有被篡改。如果对EC固件进行签名校验的动作不是在所述BIOS SMI handler中,而只是在OS(操作系统)下面的ring0环境下进行的,那么仍然会有可能受到操作系统下面运行的恶意软件的篡改,或者没有对EC固件文件包进行签名处理,则在更新EC固件后可能会导致EC固件崩溃。
本发明实施例中,在对所述签名的EC固件文件包校验通过以后,则证明所述EC固件文件包没有受到侵害或未被篡改,则,所述BIOS SMI handler向所述EC发送开启更新EC固件的指令,并且,所述开启更新EC固件的指令是携带有验证信息的。即,为了尽量提高所述EC固件更新过程的安全性,本发明实施例采取利用所述验证信息对更新环境的安全性进行检验的方式,以确保所述EC固件更新是在SMM环境中进行的。
本发明实施例中,在所述EC将所述验证信息保存于所述第二位置后,所述BIOSSMI handler会向所述EC发送所述鉴定信息,所述鉴定信息即为所述开启更新EC固件的指令。所述鉴定信息用于鉴定所述EC固件的更新环境是否安全且用于指示所述EC固件开启EC固件更新。一般来说,所述BIOS向所述EC发送的所述鉴定信息中包含的验证信息就是存储在所述第一位置中的所述验证信息本身。例如,所述鉴定信息为字符串“startupdatemu82k4”,其中,字符串中的“startupdate”为指示所述EC固件开启EC固件更新的指令,字符串中的“mu82k4”为用于检验所述更新环境是否安全的信息,其中,“startupdate”和“mu82k4”可以保存在不同的字节位。所述EC在接收所述鉴定信息后,会比较所述“mu82k4”与保存于所述第二位置处的所述验证验证信息是否相同,根据比较结果,再向所述BIOS返回一个响应消息。其中,比较所述“mu82k4”与保存于所述第二位置处的所述验证验证信息是否相同,不仅是要比较内容是否一样,还要比较包含的字符串的排列位置是否相同,若内容与排列位置均相同,则确定相同。若确定所述“mu82k4”与保存于所述第二位置处的所述验证验证信息相同,则确定所述鉴定信息与所述验证信息相同。
可选的,若所述判断结果为二者相同,则所述响应消息可以用于表明所述EC固件的更新环境安全;
若所述判断结果为二者不相同,则所述响应消息可以用于表明所述EC固件的更新环境不安全。
本发明实施例中,当所述EC确定所述鉴定信息中的用于检验所述更新环境是否安全的信息与所述验证信息相同时,则所述EC向所述BIOS返回的响应消息表明当前更新EC固件的环境是在SMM下,所述EC固件的更新环境是安全的。因为若所述鉴定信息中的验证信息与所述验证信息相同,则可以初步确定没有不安全程序会对软件程序中通过给EC端口发送更新EC固件的指令进行篡改,进而可以初步确定所述EC固件的更新环境是安全的。
当所述EC确定所述鉴定信息与所述验证信息不相同时,则所述EC向所述BIOS返回的响应消息则表明当前更新EC固件的环境不是在SMM下,所述EC固件的更新环境是不安全的。
通过本发明实施例,可以先对所述EC固件的更新环境的安全性进行初步判断,进而可以快速确定所述更新环境的不安全性,避免在所述EC固件的后续更新流程中才发现存在安全威胁,进而可以节约时间,避免进行一些无用的操作。
可选的,在所述EC向所述BIOS返回所述响应消息后,还可以包括:
若所述响应消息用于表明所述EC固件的更新环境安全,所述BIOS向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法;
若合法,所述EC执行所述EC固件更新操作指令,完成所述EC固件的更新。
所述EC固件的更新是一个需要多步骤工作的过程。其中,每个步骤都需要所述BIOS SMI handler向所述EC发送相应的指令,在所述EC接收所述相应的指令后再执行该指令以完成相应的更新操作。
本发明实施例中,所述BIOS SMI handler在向所述EC发送所述EC固件更新操作指令时,可以将所述第一位置处存储的验证信息携带在所述EC固件更新操作指令中。从而,所述EC在接收到所述更新操作指令后,可以根据所述验证信息鉴定所述EC固件更新操作指令是否合法,也就是验证所述EC固件更新操作指令中携带的验证信息与所述第二位置处存储的所述验证信息是否一致。若一致,则所述EC可以确定所述EC固件更新操作指令合法,可以完成所述EC固件的更新,若不一致,则所述EC可以确定所述EC固件更新指令不合法,从而可以拒绝执行所述EC固件更新操作指令。这样,可以保证所述EC固件更新过程的安全性。
可选的,本发明实施例中,在所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法后,还可以包括:
若不合法,所述EC拒绝执行所述EC固件更新操作指令。
本发明实施例中,若所述EC确定所述EC固件更新操作指令不合法,所述EC会拒绝执行所述EC固件更新操作指令,则整个所述EC固件的更新流程结束。
当在判断所述EC固件更新操作指令不合法后,即,在确定所述EC固件的更新过程可能存在安全威胁后,所述EC会自动结束所述EC固件更新流程,进而能够避免不安全程序或软件可能对所述EC中的EC FLASH进行破坏。
可选的,本发明实施例中,在所述BIOS向所述EC发送鉴定信息之前,还可以包括:
所述EC接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;
所述EC根据所述验证信息判断所述触发指令是否合法;
若合法,所述EC确定进行所述EC固件的更新。
当所述EC固件需要更新时,需要有触发者触发位于所述EC中的所述EC固件更新请求指令,其中,所述触发者可以是指所述BIOS,或者也可以是指所述电子设备中的其他功能单元,即,所述触发者可以是任意的,这其中就可能会包含有例如恶意软件在内的不安全程序或软件。所述EC固件更新请求指令可以是存储在所述EC中的固定指令,若有触发者触发所述EC固件更新请求指令,表明请求所述EC进行所述EC固件的更新。
本发明实施例中,当有触发者通过所述触发指令触发EC固件更新请求指令时,所述EC会根据保存于所述第二位置中的所述验证信息判断所述触发指令是否合法。例如,可以判断所述触发指令中携带的信息是否与所述验证信息一致,如果一致,则确定所述触发指令是合法的,进而可以确定所述触发者的身份是安全的。在本发明实施例中,因为只有所述第一位置处保存有所述验证信息,所以,也就只有由所述BIOS发送的所述触发指令会被所述EC认为是合法的。
当确定所述触发指令合法后,所述EC才会进入后续的EC更新流程。即,在所述EC固件的更新流程刚开始时,所述EC会对所述触发者的身份进行判断,以确定所述触发者的身份是安全的。这样,可以尽早确定出触发者的身份是否合法,若不合法则可以停止操作,节省操作时间。
请参见图2,基于同一发明构思,本发明实施例提供一种电子设备200,所述电子设备200可以包括:
BIOS201,可以用于在所述电子设备200启动时,生成验证信息,并将所述验证信息进行保存;且将所述验证信息发送给所述电子设备中的EC202;
所述EC202,可以用于接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC202固件更新的信息是否合法。
可选的,所述BIOS201用于在所述电子设备200启动时,生成验证信息,并将所述验证信息进行保存,具体可以为:所述BIOS201在所述电子设备启动时,生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS201独有访问。
可选的,所述EC202具体可以用于:接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC202独有访问,且所述第一位置与所述第二位置不同。
可选的,所述BIOS201还可以用于:在所述EC202将所述验证信息保存于第二位置后,向所述EC202发送鉴定信息;
所述EC202还可以用于:接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;根据判断结果,向所述BIOS201返回响应信息。
可选的,若所述判断结果为相同,则所述响应消息可以用于表明所述EC202固件的更新环境安全;
若所述判断结果为不相同,则所述响应消息可以用于表明所述EC202固件的更新环境不安全。
可选的,所述BIOS还可以用于:在所述EC202向所述BIOS201返回响应消息后,若所述响应消息用于表明所述EC202固件的更新环境安全,向所述EC202发送EC202固件更新操作指令,所述EC202固件更新操作指令用于指示所述EC202进行所述EC202固件的更新;
所述EC202还可以用于:根据所述验证信息鉴定所述EC202固件更新操作指令是否合法;若合法,执行所述EC202固件更新操作指令,完成所述EC202固件的更新。
可选的,所述EC202还可以用于:在根据所述验证信息鉴定所述EC202固件更新操作指令不合法时,拒绝执行所述EC202固件更新操作指令。
可选的,所述EC还可以用于:在所述BIOS201向所述EC202发送鉴定信息之前,接收触发指令,所述触发指令用于触发所述EC202中存储的EC202固件更新请求指令;根据所述验证信息判断所述触发指令是否合法;若合法,确定进行所述EC202固件的更新。
本发明实施例中的信息处理方法可以包括以下步骤:所述电子设备200在启动时,所述电子设备中的基本输入输出系统BIOS201生成验证信息,并将所述验证信息进行保存;所述BIOS201将所述验证信息发送给所述电子设备中的嵌入式控制器EC202;所述EC202接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC202固件更新的信息是否合法。
本发明实施例中,电子设备200在系统启动过程中,由BIOS201生成一验证信息并进行保存,再将所述验证信息发送给电子设备200中的EC202,则,在电子设备200运行的任意时刻,当EC202固件需要更新时,所述EC202会接收到到用于进行EC202固件更新的指令,所述EC202可以根据其保存的所述验证信息鉴定用于指示所述EC202固件进行更新的信息是否合法,这样,若该指令已被篡改,所述EC202可以拒绝执行,尽量避免对EC202FLASH内的数据进行破坏,增强EC202固件的安全性,减小了电子设备产生故障的几率,也相应提高了电子设备的可靠性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本申请实施例中的一种信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
所述电子设备在启动时,所述电子设备中的基本输入输出系统BIOS生成验证信息,并将所述验证信息进行保存;
所述BIOS将所述验证信息发送给所述电子设备中的嵌入式控制器EC;
所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法。
可选的,所述存储介质中存储的与步骤:所述电子设备在启动时,所述电子设备中的BIOS生成验证信息,并将所述验证信息进行保存,对应的计算机指令在被执行的过程中,具体包括:所述电子设备在启动时,所述BIOS生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
可选的,所述存储介质中存储的与步骤:所述EC接收所述验证信息并进行保存,对应的计算机指令在被执行的过程中,具体包括:所述EC接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
可选的,所述存储介质中存储的与步骤:所述EC将所述验证信息保存于第二位置,对应的计算机指令在被执行之后,还包括:
所述BIOS向所述EC发送鉴定信息;
所述EC接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;
根据判断结果,所述EC向所述BIOS返回响应消息。
可选的,若所述判断结果为相同,则所述响应消息用于表明所述EC固件的更新环境安全;
若所述判断结果为不相同,则所述响应消息用于表明所述EC固件的更新环境不安全。
可选的,所述存储介质中存储的与步骤:所述EC向所述BIOS返回响应消息,对应的计算机指令在被执行之后,还包括:
若所述响应消息用于表明所述EC固件的更新环境安全,所述BIOS向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法;
若合法,所述EC执行所述EC固件更新操作指令,完成所述EC固件的更新。
可选的,所述存储介质中存储的与步骤:所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法,对应的计算机指令在被执行之后,还包括:若不合法,所述EC拒绝执行所述EC固件更新操作指令。
可选的,所述存储介质中存储的与步骤:所述BIOS向所述EC发送鉴定信息,对应的计算机指令在被执行之前,还包括:
所述EC接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;
所述EC根据所述验证信息判断所述触发指令是否合法;
若合法,所述EC确定进行所述EC固件的更新。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种信息处理方法,应用于电子设备,所述方法包括:
所述电子设备在启动时,所述电子设备中的基本输入输出系统BIOS生成验证信息,并将所述验证信息进行保存;
所述BIOS将所述验证信息发送给所述电子设备中的嵌入式控制器EC;
所述EC接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法,
在所述EC将所述验证信息保存后,包括:
所述BIOS向所述EC发送鉴定信息;
所述EC接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;
根据判断结果,所述EC向所述BIOS返回响应消息,若所述判断结果为相同,则所述响应消息用于表明所述EC固件的更新环境安全;若所述判断结果为不相同,则所述响应消息用于表明所述EC固件的更新环境不安全。
2.如权利要求1所述的方法,其特征在于,所述电子设备在启动时,所述电子设备中的BIOS生成验证信息,并将所述验证信息进行保存,包括:所述电子设备在启动时,所述BIOS生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
3.如权利要求2所述的方法,其特征在于,所述EC接收所述验证信息并进行保存,包括:所述EC接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
4.如权利要求1所述的方法,其特征在于,在所述EC向所述BIOS返回响应消息后,还包括:
若所述响应消息用于表明所述EC固件的更新环境安全,所述BIOS向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法;
若合法,所述EC执行所述EC固件更新操作指令,完成所述EC固件的更新。
5.如权利要求4所述的方法,其特征在于,在所述EC根据所述验证信息鉴定所述EC固件更新操作指令是否合法后,还包括:
若不合法,所述EC拒绝执行所述EC固件更新操作指令。
6.如权利要求1所述的方法,其特征在于,在所述BIOS向所述EC发送鉴定信息之前,还包括:
所述EC接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;
所述EC根据所述验证信息判断所述触发指令是否合法;
若合法,所述EC确定进行所述EC固件的更新。
7.一种电子设备,所述电子设备包括:
BIOS,用于在所述电子设备启动时,生成验证信息,并将所述验证信息进行保存;且将所述验证信息发送给所述电子设备中的EC;
所述EC,用于接收所述验证信息并进行保存,以根据所述验证信息鉴定接收的用于指示进行EC固件更新的信息是否合法,
所述BIOS还用于:在所述EC将所述验证信息保存后,向所述EC发送鉴定信息;
所述EC还用于:接收所述鉴定信息,并判断所述鉴定信息与所述验证信息是否相同;根据判断结果,向所述BIOS返回响应消息,若所述判断结果为相同,则所述响应消息用于表明所述EC固件的更新环境安全;若所述判断结果为不相同,则所述响应消息用于表明所述EC固件的更新环境不安全。
8.如权利要求7所述的电子设备,其特征在于,所述BIOS用于在所述电子设备启动时,生成验证信息,并将所述验证信息进行保存,具体为:所述BIOS在所述电子设备启动时,生成所述验证信息,并将所述验证信息保存于第一位置;其中,所述第一位置由所述BIOS独有访问。
9.如权利要求8所述的电子设备,其特征在于,所述EC具体用于:接收所述验证信息,并将所述验证信息保存于第二位置;其中,所述第二位置由所述EC独有访问,且所述第一位置与所述第二位置不同。
10.如权利要求7所述的电子设备,其特征在于,所述BIOS还用于:在所述EC向所述BIOS返回响应消息后,若所述响应消息用于表明所述EC固件的更新环境安全,向所述EC发送EC固件更新操作指令,所述EC固件更新操作指令用于指示所述EC进行所述EC固件的更新;
所述EC还用于:根据所述验证信息鉴定所述EC固件更新操作指令是否合法;若合法,执行所述EC固件更新操作指令,完成所述EC固件的更新。
11.如权利要求10所述的电子设备,其特征在于,所述EC还用于:在根据所述验证信息鉴定所述EC固件更新操作指令不合法时,拒绝执行所述EC固件更新操作指令。
12.如权利要求9所述的电子设备,其特征在于,所述EC还用于:在所述BIOS向所述EC发送鉴定信息之前,接收触发指令,所述触发指令用于触发所述EC中存储的EC固件更新请求指令;根据所述验证信息判断所述触发指令是否合法;若合法,确定进行所述EC固件的更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302910.5A CN105446751B (zh) | 2014-06-27 | 2014-06-27 | 一种信息处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302910.5A CN105446751B (zh) | 2014-06-27 | 2014-06-27 | 一种信息处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446751A CN105446751A (zh) | 2016-03-30 |
CN105446751B true CN105446751B (zh) | 2019-04-23 |
Family
ID=55556997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410302910.5A Active CN105446751B (zh) | 2014-06-27 | 2014-06-27 | 一种信息处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446751B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741855A (zh) * | 2017-09-05 | 2018-02-27 | 广东虹勤通讯技术有限公司 | 一种硬件程序更新方法、计算设备及可读存储介质 |
CN108363583A (zh) * | 2018-02-05 | 2018-08-03 | 华勤通讯技术有限公司 | 一种基于bmc的芯片更新方法、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581159B1 (en) * | 1999-12-23 | 2003-06-17 | Intel Corporation | Secure method of updating bios by using a simply authenticated external module to further validate new firmware code |
CN1591362A (zh) * | 2003-08-25 | 2005-03-09 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息处理设备和启动方法 |
CN101375287A (zh) * | 2006-02-15 | 2009-02-25 | 英特尔公司 | 用于提供安全固件的技术 |
CN101840365A (zh) * | 2010-04-30 | 2010-09-22 | 广州广电运通金融电子股份有限公司 | Bios安全保护方法及系统 |
US7836219B1 (en) * | 2004-02-10 | 2010-11-16 | Pmc-Sierra Us, Inc. | System and method for authentication of embedded RAID on a host RAID card |
CN102411545A (zh) * | 2010-09-25 | 2012-04-11 | 研祥智能科技股份有限公司 | 一种eeprom操作保护方法、装置及系统 |
CN103502932A (zh) * | 2011-04-29 | 2014-01-08 | 惠普发展公司,有限责任合伙企业 | 用于验证crtm的嵌入式控制器 |
CN103514399A (zh) * | 2012-06-19 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件验证方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
US20120151223A1 (en) * | 2010-09-20 | 2012-06-14 | Conde Marques Ricardo Nuno De Pinho Coelho | Method for securing a computing device with a trusted platform module-tpm |
US8812828B2 (en) * | 2010-11-16 | 2014-08-19 | Intel Corporation | Methods and apparatuses for recovering usage of trusted platform module |
-
2014
- 2014-06-27 CN CN201410302910.5A patent/CN105446751B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581159B1 (en) * | 1999-12-23 | 2003-06-17 | Intel Corporation | Secure method of updating bios by using a simply authenticated external module to further validate new firmware code |
CN1591362A (zh) * | 2003-08-25 | 2005-03-09 | 联想(北京)有限公司 | 一种安全芯片及基于该芯片的信息处理设备和启动方法 |
US7836219B1 (en) * | 2004-02-10 | 2010-11-16 | Pmc-Sierra Us, Inc. | System and method for authentication of embedded RAID on a host RAID card |
CN101375287A (zh) * | 2006-02-15 | 2009-02-25 | 英特尔公司 | 用于提供安全固件的技术 |
CN101840365A (zh) * | 2010-04-30 | 2010-09-22 | 广州广电运通金融电子股份有限公司 | Bios安全保护方法及系统 |
CN102411545A (zh) * | 2010-09-25 | 2012-04-11 | 研祥智能科技股份有限公司 | 一种eeprom操作保护方法、装置及系统 |
CN103502932A (zh) * | 2011-04-29 | 2014-01-08 | 惠普发展公司,有限责任合伙企业 | 用于验证crtm的嵌入式控制器 |
CN103514399A (zh) * | 2012-06-19 | 2014-01-15 | 鸿富锦精密工业(深圳)有限公司 | 固件验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105446751A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US10432627B2 (en) | Secure sensor data transport and processing | |
US8250387B2 (en) | Computers having a biometric authentication device | |
EP2462507B1 (en) | Methods and apparatuses for user-verifiable trusted path in the presence of malware | |
US8522018B2 (en) | Method and system for implementing a mobile trusted platform module | |
JP5476363B2 (ja) | 生体認証装置を利用したコンピュータの起動方法およびコンピュータ | |
TWI245182B (en) | Method, chipset, system and recording medium for responding to a sleep attack | |
US8335931B2 (en) | Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments | |
US20180039782A1 (en) | Anti-theft in firmware | |
KR101736397B1 (ko) | 호스트 중앙 프로세싱 유닛 및 호스트 운영 시스템에 의한 제어 및 간섭으로부터 분리된 사용자 승인 및 프레젠스 검출 | |
US20120297177A1 (en) | Hardware Assisted Operating System Switch | |
CN101436247A (zh) | 一种基于uefi的生物身份识别方法及系统 | |
JP5981035B2 (ja) | ハードウェアによるアクセス保護 | |
US20090100516A1 (en) | Secure Bait and Switch Resume | |
CN102955921A (zh) | 电子装置与安全开机方法 | |
JP2014525105A (ja) | Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm) | |
JP2013149135A (ja) | コンピュータをブートする方法およびコンピュータ | |
CN101535957A (zh) | 用于共享可信平台模块的系统和方法 | |
CN109657448A (zh) | 一种获取Root权限的方法、装置、电子设备及存储介质 | |
US10019577B2 (en) | Hardware hardened advanced threat protection | |
CN111125707A (zh) | 一种基于可信密码模块的bmc安全启动方法、系统及设备 | |
CN105446751B (zh) | 一种信息处理方法及电子设备 | |
US20210216640A1 (en) | Systems and methods for hardware root of trust with protected redundant memory for authentication failure scenarios | |
CN109460262A (zh) | 验证主系统镜像合法性的方法、系统、安卓设备及介质 | |
RU2789614C1 (ru) | Устройство защиты UEFI BIOS от несанкционированных изменений. |
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 |