计算机设备、程序写入方法及程序读取方法技术

技术编号:17541383 阅读:55 留言:0更新日期:2018-03-24 18:09
本申请公开了一种计算机设备、程序写入方法及程序读取方法,属于计算机技术领域。该计算机设备包括:中央处理器CPU、基本输入输出系统BIOS芯片、存储芯片和可编程逻辑器件PLD,CPU通过PLD与BIOS芯片相连,存储芯片与PLD相连;PLD用于接收CPU发送的BIOS程序;读取存储芯片中存储的字符串;根据字符串对BIOS程序进行转换以获得转换后的BIOS程序,将转换后的BIOS程序存储至BIOS芯片中,其中,转换后的BIOS程序不同于转换前的BIOS程序,解决了将原始的BIOS程序存储在BIOS芯片中,该原始的BIOS程序的安全性较低的问题,达到了提高BIOS芯片中的BIOS程序的安全性的效果。

Computer equipment, program writing method and program reading method

【技术实现步骤摘要】
计算机设备、程序写入方法及程序读取方法
本申请涉及计算机
,特别涉及一种计算机设备、程序写入方法及程序读取方法。
技术介绍
计算机设备通常包含中央处理器(CentralProcessingUnit,CPU)、内存储器、外存储器、网络接口等组件。各种组件安装在主板的特定位置上,通过总线相互通信。主板通常为矩形电路板,主板上安装了组成计算机设备的主要电路系统,例如基本输入输出系统(BasicInputOutputSystem,BIOS)芯片、I/O(Input/Output)控制芯片、指示灯插接件、扩充插槽、直流电源供电接插件等元件。BIOS芯片具有断电后存储的数据不丢失的特性,可以是只读存储器(Read-OnlyMemory,ROM)芯片或闪存(Flash)芯片。BIOS芯片中存储有BIOS程序。BIOS程序也被称为引导程序(bootloader),BIOS程序具体包括用于对计算机设备的基本输入输出系统进行配置的程序、开机后硬件自检程序和操作系统自启动程序。BIOS程序能够从互补式金属氧化物半导体(ComplementaryMetal-Oxide-Semiconductor,CMOS)中读取计算机设备最基本的启动信息。BIOS程序的主要功能是为计算机设备提供最底层的、最直接的硬件设置和控制。在现有主流的计算机体系架构下,当计算机设备上电后,CPU首先从BIOS芯片中读取BIOS程序完成计算机设备的硬件初始化过程。由于计算机设备在操作系统初始化完成之前不具备计算能力,例如不能对数据进行解密,因此为了能够成功进行初始化,BIOS程序通常未经过加密地存储在BIOS芯片中。正是由于现有的BIOS程序未经过加密地存储在BIOS芯片中,为非法用户提供了可乘之机。例如黑客可以通过物理手段将存储有BIOS程序的Flash芯片取下,通过Flash编程器读取其中的内容,并对得到的内容进行逆向分析获知BIOS程序的功能模块,然后在合适的地方植入后门程序。黑客可以通过植入的后门程序在计算机设备初始化过程中获取计算机设备中的数据,并将获取的数据发送给预先通过后门程序设置的接收者,从而造成计算机设备中的数据被盗取。更为严重的是,与植入在应用程序中的一般的后门程序相比,由于BIOS芯片中的数据下电不丢失的特性,植入在BIOS程序中的后门程序长久有效。可见,现有的BIOS程序的存储方式存在安全隐患。
技术实现思路
为了解决BIOS芯片中存储的BIOS程序的安全性不高的问题,本申请实施例提供了一种计算机设备、程序写入方法及程序读取方法。第一方面,提供了一种程序写入方法,该方法包括:计算机设备中的可编程逻辑器件(ProgrammableLogicDevice,PLD)接收计算机设备中的中央处理器(CentralProcessingUnit,CPU)发送的BIOS程序,该BIOS程序用于供CPU执行以完成计算机设备的初始化;然后,PLD读取与该PLD相连的存储芯片中存储的字符串;然后,PLD根据该字符串对BIOS程序进行转换以获得转换后的BIOS程序,并将该转换后的BIOS程序存储至计算机设备中的BIOS芯片中,其中,转换后的BIOS程序不同于转换前的BIOS程序。通过PLD根据存储芯片中存储的字符串对BIOS程序进行转换,并在得到转换后的BIOS程序后将该转换后的BIOS程序存储至BIOS芯片中,使得BIOS芯片中存储的BIOS程序是经过转换后的BIOS程序,这样,除了开发人员之外的人员无法通过获取BIOS芯片来获取到原始的BIOS程序,解决了BIOS芯片中存储原始的BIOS程序,导致该原始的BIOS程序的安全性不高的问题,达到了提高BIOS芯片中存储的BIOS程序的安全性的效果。可选的,PLD将转换后的BIOS程序存储至BIOS芯片中,包括:PLD获取CPU发送的BIOS程序在BIOS芯片中的预期存储地址;PLD将转换后的BIOS程序存储至预期存储地址。可选的,PLD将转换后的BIOS程序存储至BIOS芯片中,包括:PLD获取CPU发送的BIOS程序在所述BIOS芯片中的预期存储地址;;PLD根据字符串对预期存储地址进行转换,得到转换后的存储地址;PLD将转换后的BIOS程序存储至转换后的存储地址,其中,转换后的存储地址不同于预期存储地址。通过PLD根据存储芯片中的字符串对BIOS程序的预期存储地址进行转换,并在得到转换后的存储地址后将转换后的BIOS程序存储至该转换后的存储地址,使得每条转换后的BIOS程序散列地存储在BIOS芯片中,提高了非法用户获取到BIOS芯片后还原BIOS程序的难度,提高了BIOS芯片中的BIOS程序的安全性。可选的,PLD根据字符串对预期存储地址进行转换,得到转换后的存储地址,包括:获取BIOS芯片的位宽和存储容量;根据该位宽和存储容量确定该预期存储地址的转换位数i;根据该字符串对该预期存储地址中的最后i位进行转换,得到转换后的存储地址。其中,i为正整数。通过确定预期存储地址的转换位数i,并对该预期存储地址中的最后i位进行转换,与对预期存储地址的所有位进行转换相比,减少了PLD在对预期存储地址进行转换时消耗的处理资源,提高了PLD对预期存储地址进行转换的效率。可选的,PLD根据字符串对BIOS程序进行转换以获得转换后的BIOS程序,包括:PLD以字符串为第一索引,以BIOS程序包括的数据为第二索引,在程序映射表中查询转换后的BIOS程序;其中,程序映射表是二维索引表,且存储有字符串和BIOS程序包括的数据对应的转换后的BIOS程序。可选的,PLD以字符串为第一索引,以BIOS程序包括的数据为第二索引,在程序映射表中查询转换后的BIOS程序,包括:PLD将BIOS程序划分为至少两段子程序;从字符串中获取每段子程序对应的子字符串;对于每段子程序,以子程序对应的子字符串为第一索引,以子程序包括的数据为第二索引,在程序映射表中查询转换后的子程序;根据每段转换后的子程序确定转换后的BIOS程序。通过将BIOS程序划分为至少两段子程序,PLD分别根据每段子程序和每段子程序对应的子字符串,在程序映射表中查找每段转换后的子程序,根据每段转换后的子程序确定转换后的BIOS程序。此时,由于同一条BIOS程序进行了多次转换,因此,提高了非法用户还原每条BIOS程序的难度。可选的,PLD根据字符串对预期存储地址进行转换,包括:PLD以字符串为第一索引,以预期存储地址包括的数据为第二索引,在地址映射表中查询转换后的存储地址;其中,地址映射表是二维索引表,且存储有字符串和预期存储地址包括的数据对应的转换后的存储地址。可选的,PLD以字符串为第一索引,以预期存储地址包括的数据为第二索引,在数据映射表中查询转换后的存储地址,包括:PLD将存储地址划分为至少两段子地址;从字符串中获取每段子地址对应的子字符串;对于每段子地址,以子地址对应的子字符串为第一索引,以子地址包括的数据为第二索引,在地址映射表中查询转换后的子地址;根据每段转换后的子地址确定转换后的存储地址。通过将BIOS程序的预期存储地址划分为至少两段子地址,PLD分别根据每段子地址和每段子地址对应的子字符串,在地址映射表中查找每段转换后的子地址,根据每段转换后的子地址本文档来自技高网
...
计算机设备、程序写入方法及程序读取方法

【技术保护点】
一种计算机设备,其特征在于,所述计算机设备包括:中央处理器CPU、基本输入输出系统BIOS芯片、存储芯片和可编程逻辑器件PLD,所述CPU通过所述PLD与所述BIOS芯片相连,所述存储芯片与所述PLD相连;所述PLD,用于接收所述CPU发送的BIOS程序,所述BIOS程序用于供所述CPU执行以完成所述计算机设备的初始化;所述PLD,还用于读取所述存储芯片中存储的字符串;所述PLD,还用于根据所述字符串对所述BIOS程序进行转换以获得转换后的BIOS程序,将所述转换后的BIOS程序存储至所述BIOS芯片中,其中,所述转换后的BIOS程序不同于转换前的所述BIOS程序。

【技术特征摘要】
1.一种计算机设备,其特征在于,所述计算机设备包括:中央处理器CPU、基本输入输出系统BIOS芯片、存储芯片和可编程逻辑器件PLD,所述CPU通过所述PLD与所述BIOS芯片相连,所述存储芯片与所述PLD相连;所述PLD,用于接收所述CPU发送的BIOS程序,所述BIOS程序用于供所述CPU执行以完成所述计算机设备的初始化;所述PLD,还用于读取所述存储芯片中存储的字符串;所述PLD,还用于根据所述字符串对所述BIOS程序进行转换以获得转换后的BIOS程序,将所述转换后的BIOS程序存储至所述BIOS芯片中,其中,所述转换后的BIOS程序不同于转换前的所述BIOS程序。2.根据权利要求1所述的计算机设备,其特征在于,所述PLD将所述转换后的BIOS程序存储至所述BIOS芯片中,所述PLD具体用于:获取所述CPU发送的所述BIOS程序在所述BIOS芯片中的预期存储地址;将所述转换后的BIOS程序存储至所述预期存储地址。3.根据权利要求1所述的计算机设备,其特征在于,所述PLD将所述转换后的BIOS程序存储至所述BIOS芯片中,所述PLD具体用于:获取所述CPU发送的所述BIOS程序在所述BIOS芯片中的预期存储地址;根据所述字符串对所述预期存储地址进行转换,得到转换后的存储地址;将所述转换后的BIOS程序存储至所述转换后的存储地址,其中,所述转换后的存储地址不同于所述预期存储地址。4.根据权利要求1所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述BIOS程序进行转换以获得转换后的BIOS程序,所述PLD具体用于:以所述字符串为第一索引,以所述BIOS程序包括的数据为第二索引,在程序映射表中查询所述转换后的BIOS程序;其中,所述程序映射表是二维索引表,且存储有字符串和BIOS程序包括的数据对应的转换后的BIOS程序。5.根据权利要求4所述的计算机设备,其特征在于,所述PLD以所述字符串为第一索引,以所述BIOS程序包括的数据为第二索引,在所述程序映射表中查询所述转换后的BIOS程序,所述PLD具体用于:将所述BIOS程序划分为至少两段子程序;从所述字符串中获取每段子程序对应的子字符串;对于每段子程序,以所述子程序对应的子字符串为所述第一索引,以子程序包括的数据为所述第二索引,在所述程序映射表中查询转换后的子程序;根据每段转换后的子程序确定所述转换后的BIOS程序。6.根据权利要求3所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述预期存储地址进行转换,所述PLD具体用于:以所述字符串为第一索引,以所述预期存储地址包括的数据为第二索引,在地址映射表中查询所述转换后的存储地址;其中,所述地址映射表是二维索引表,且存储有字符串和预期存储地址包括的数据对应的转换后的存储地址。7.根据权利要求6所述的计算机设备,其特征在于,所述PLD以所述字符串为第一索引,以所述预期存储地址包括的数据为第二索引,在所述数据映射表中查询所述转换后的存储地址,所述PLD具体用于:将所述预期存储地址划分为至少两段子地址;从所述字符串中获取每段子地址对应的子字符串;对于每段子地址,以所述子地址对应的子字符串为所述第一索引,以子地址包括的数据为所述第二索引,在所述数据映射表中查询转换后的子地址;根据每段转换后的子地址确定所述转换后的存储地址。8.根据权利要求1所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述BIOS程序进行转换以获得转换后的BIOS程序,所述PLD具体用于:从所述字符串中获取子字符串,所述子字符串的长度大于零,且小于等于所述字符串的长度;对所述子字符串进行第一逻辑运算得到转换后的子字符串;利用所述转换后的子字符串对所述BIOS程序进行第二逻辑运算,得到所述转换后的BIOS程序;或者,对所述BIOS程序进行第三逻辑运算,利用所述子字符串对进行了所述第三逻辑运算的BIOS程序进行第四逻辑运算,得到所述转换后的BIOS程序;或者,对所述子字符串进行第五逻辑运算,得到所述转换后的子字符串;对所述BIOS程序进行第六逻辑运算,利用所述转换后的子字符串对进行了所述第六逻辑运算的BIOS程序进行第七逻辑运算,得到所述转换后的BIOS程序;或者,利用所述子字符串对所述BIOS程序进行第八逻辑运算,得到所述转换后的BIOS程序。9.根据权利要求3所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述预期存储地址进行转换,所述PLD具体用于:从所述字符串中获取子字符串,所述子字符串的长度大于零,且小于等于所述字符串的长度;对所述子字符串进行第一逻辑运算得到转换后的子字符串;利用所述转换后的子字符串对所述预期存储地址进行第二逻辑运算,得到所述转换后的存储地址;或者,对所述预期存储地址进行第三逻辑运算,利用所述子字符串对进行了所述第三逻辑运算的预期存储地址进行第四逻辑运算,得到所述转换后的存储地址;或者,对所述子字符串进行第五逻辑运算,得到所述转换后的子字符串;对所述预期存储地址进行第六逻辑运算,利用所述转换后的子字符串对进行了所述第六逻辑运算的预期存储地址进行第七逻辑运算,得到所述转换后的存储地址;或者,利用所述子字符串对所述预期存储地址进行第八逻辑运算,得到所述转换后的存储地址。10.一种计算机设备,其特征在于,所述计算机设备包括:中央处理器CPU、基本输入输出系统BIOS芯片、存储芯片和可编程逻辑器件PLD,所述CPU通过所述PLD与所述BIOS芯片相连,所述存储芯片与所述PLD相连;所述PLD,用于接收所述CPU发送的BIOS程序和所述BIOS程序在所述BIOS芯片中的预期存储地址,所述BIOS程序用于供所述CPU执行以完成所述计算机设备的初始化;所述PLD,还用于读取所述存储芯片中存储的字符串;所述PLD,还用于根据所述字符串对所述预期存储地址进行转换以获得转换后的存储地址,其中,所述转换后的存储地址不同于所述预期存储地址;所述PLD,还用于将所述BIOS程序存储至所述转换后的存储地址。11.一种计算机设备,其特征在于,所述计算机设备包括:中央处理器CPU、基本输入输出系统BIOS芯片、存储芯片和可编程逻辑器件PLD,所述CPU通过所述PLD与所述BIOS芯片相连,所述存储芯片与所述PLD相连;所述PLD,用于接收所述CPU发送的程序读取指令,所述程序读取指令用于从所述BIOS芯片中读取原始BIOS程序,所述原始BIOS程序用于供所述CPU执行以完成所述计算机设备的初始化;所述PLD,还用于读取所述存储芯片中存储的字符串;所述PLD,还用于从所述BIOS芯片中读取转换后的BIOS程序,并根据所述字符串对所述转换后的BIOS程序进行还原以获得还原后的BIOS程序,其中,所述转换后的BIOS程序是所述PLD根据所述字符串对所述原始BIOS程序进行转换并存储至所述BIOS芯片中的;所述转换后的BIOS程序不同于所述原始BIOS程序;所述PLD,还用于将所述还原后的BIOS程序发送至所述CPU。12.根据权利要求11所述的计算机设备,其特征在于,所述PLD从所述BIOS芯片中读取转换后的BIOS程序,所述PLD具体用于:获取所述程序读取指令携带的预期存储地址;读取存储在所述预期存储地址中的所述转换后的BIOS程序。13.根据权利要求11所述的计算机设备,其特征在于,所述PLD从所述BIOS芯片中读取转换后的BIOS程序,所述PLD具体用于:获取所述程序读取指令携带的预期存储地址;根据所述字符串对所述预期存储地址进行转换,得到转换后的存储地址,其中,所述转换后的存储地址不同于所述预期存储地址;读取存储在所述转换后的存储地址中的所述转换后的BIOS程序。14.根据权利要求11所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述转换后的BIOS程序进行还原以获得还原后的BIOS程序,所述PLD具体用于:以所述字符串为第一索引,以所述转换后的BIOS程序包括的数据为第二索引,在程序映射表中查询所述还原后的BIOS程序;其中,所述程序映射表是二维索引表,且存储有字符串和还原后的BIOS程序包括的数据对应的转换后的BIOS程序。15.根据权利要求14所述的计算机设备,其特征在于,所述PLD以所述字符串为第一索引,以所述转换后的BIOS程序包括的数据为第二索引,在程序映射表中查询所述还原后的BIOS程序,所述PLD具体用于:根据预设划分方式将所述转换后的BIOS程序划分为至少两段转换后的子程序,所述预设划分方式与所述PLD在向所述BIOS芯片写入所述BIOS程序时,将所述BIOS程序划分为至少两段子程序的划分方式相同;从所述字符串中获取每段转换后的子程序对应的子字符串;对于每段转换后的子程序,以所述转换后的子程序对应的子字符串为所述第一索引,以所述转换后的子程序包括的数据为所述第二索引,在所述程序映射表中查询还原后的子程序;根据每段还原后的子程序确定所述还原后的BIOS程序。16.根据权利要求13所述的计算机设备,其特征在于,所述PLD根据所述字符串对所述预期存储地址进行转换,所述PLD具体用于:以所述字符串为第一索引,以所述预期存储地址包括的数据为第二索引,在地址映射表中查询所述转换后的存储地址;其中,所述地址映射表是二维索引表,且存储有字符串和预期存储地址包括的数据对应的转换后的存储地址。17.根据权利要求16所述的计算机设备,...

【专利技术属性】
技术研发人员:程志军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1