一种可编程逻辑器件及其启动方法、系统和存储介质技术方案

技术编号:20024912 阅读:37 留言:0更新日期:2019-01-06 04:06
本申请公开了一种可编程逻辑器件启动方法、系统及一种可编程逻辑器件和计算机可读存储介质,该方法包括:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;若否,则获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。由此可见,本申请提供的可编程逻辑器件启动方法,在启动前进行安全性验证,有效提高了可编程逻辑器件固件程序的安全性。

【技术实现步骤摘要】
一种可编程逻辑器件及其启动方法、系统和存储介质
本申请涉及计算机
,更具体地说,涉及一种可编程逻辑器件启动方法、系统及一种可编程逻辑器件和一种计算机可读存储介质。
技术介绍
CPLD(中文全称:复杂可编程逻辑器件,英文全称:ComplexProgrammableLogicDevice),是从PAL(中文全称:可编程阵列逻辑,英文全称:ProgrammableArrayLogic)和GAL(中文全称:通用阵列逻辑,英文全称:genericarraylogic)器件发展出来的器件,属于大规模集成电路范围,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统。服务器中的CPLD可以实现主板的上电时序控制,一旦CPLD固件被植入恶意代码或者病毒,将导致主板的各器件电压不稳定甚至烧毁器件,从而对服务器造成巨大的威胁。现有技术中,在服务器上电之后,没有经过安全的验证过程,直接运行CPLD,从而启动系统。上述启动方法无法保证在CPLD启动时,CPLD固件是没有被植入恶意代码的安全可信的固件,因此恶意的CPLD固件可能会影响服务器主板的上电时序,从而对整个服务器的安全造成巨大的威胁。因此,如何提高可编程逻辑器件固件程序的安全性是本领域技术人员需要解决的问题。
技术实现思路
本申请的目的在于提供一种可编程逻辑器件启动方法、系统及一种可编程逻辑器件和一种计算机可读存储介质,提高了可编程逻辑器件固件程序的安全性。为实现上述目的,本申请提供了一种可编程逻辑器件启动方法,包括:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;若否,则获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。其中,判断所述可编程逻辑器件是否为第一次启动之前,还包括:所述服务器系统中的BIOS进行自检操作,自检合格后执行判断所述可编程逻辑器件是否为第一次启动的步骤。其中,判断所述可编程逻辑器件是否为第一次启动,包括:判断所述服务器系统中是否存储有所述基准哈希值;若否,则所述可编程逻辑器件为第一次启动。其中,所述可编程逻辑器件具体为CPLD。其中,所述哈希算法具体为SM3算法。为实现上述目的,本申请提供了一种可编程逻辑器件启动系统,包括:判断模块,用于当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则启动第一计算模块的工作流程,若否,则启动第二计算模块的工作流程;所述第一计算模块,用于调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;所述第二计算模块,用于获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比模块,用于对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。其中,还包括:自检模块,用于所述服务器系统中的BIOS进行自检操作,自检合格后启动所述判断模块的工作流程。其中,所述判断模块具体为当所述可编程逻辑器件上电后,判断所述服务器系统中是否存储有所述基准哈希值;若否,则启动第一计算模块的工作流程,若是,则启动第二计算模块的工作流程的模块。为实现上述目的,本申请提供了一种可编程逻辑器件,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述可编程逻辑器件启动方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述可编程逻辑器件启动方法的步骤。通过以上方案可知,本申请提供的一种可编程逻辑器件启动方法,包括:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;若否,则获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。可编程逻辑器件第一次启动时为合法程序,此时计算该合法程序的哈希值作为基准哈希值存储在服务器系统的内部,当该器件不为第一次启动时,计算当前程序的哈希值并与内部存储的基准哈希值比对,若一致,则说明固件程序未被篡改,可启动该可编程逻辑器件,若不一致,则说明固件程序有可能被恶意攻击,此处断电退出系统可保证器件的安全性。由此可见,本申请提供的可编程逻辑器件启动方法,在启动前进行安全性验证,有效提高了可编程逻辑器件固件程序的安全性。本申请还公开了一种可编程逻辑器件启动系统及一种可编程逻辑器件和一种计算机可读存储介质,同样能实现上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种可编程逻辑器件启动方法的流程图;图2为本申请实施例公开的另一种可编程逻辑器件启动方法的流程图;图3为本申请实施例公开的一种可编程逻辑器件启动系统的结构图;图4为本申请实施例公开的一种可编程逻辑器件的结构图;图5为本申请实施例公开的另一种可编程逻辑器件的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种可编程逻辑器件启动方法,提高了可编程逻辑器件固件程序的安全性。参见图1,本申请实施例公开的一种可编程逻辑器件启动方法的流程图,如图1所示,包括:S101:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则进入S102,若否,则进入S103;本实施例提供的可编程逻辑器件启动方法可应用于如CPLD可编程逻辑器件中。具体的,当可编程逻辑器件上电后,判断该可编程逻辑器件是否为第一次启动,若是,则进入S102,若否,则进入S103。在具体实施中,可以通过判断服务器系统中是否存储有基准哈希值的方式判断该可编程逻辑器件是否为第一次启动,该服务器系统为该可编程逻辑器件所在的系统。该基准哈希值为可编程逻辑器件第一次启动时对合法程序进行哈希计算得到的。若可编程逻辑器件中存在基准哈希值,则说明该可编程逻辑器件不为第一次启动,相反若不存在,则该可编程逻辑器件为第一次启动。作为一种优选实施方式,在判断所述可编程逻辑器件是否为第一次启动之前,还包括服务器系统中的BIOS(中文本文档来自技高网...

【技术保护点】
1.一种可编程逻辑器件启动方法,其特征在于,包括:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;若否,则获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。

【技术特征摘要】
1.一种可编程逻辑器件启动方法,其特征在于,包括:当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是,则调用哈希算法对所述可编程逻辑器件中的合法程序进行哈希运算得到基准哈希值,存储所述基准哈希值并启动所述可编程逻辑器件;若否,则获取所述可编程逻辑器件中的当前程序,并调用所述哈希算法对所述当前程序进行哈希运算得到当前哈希值;对比所述当前哈希值与所述基准哈希值,若对比结果一致,则启动所述可编程逻辑器件。2.根据权利要求1所述可编程逻辑器件启动方法,其特征在于,判断所述可编程逻辑器件是否为第一次启动之前,还包括:所述服务器系统中的BIOS进行自检操作,自检合格后执行判断所述可编程逻辑器件是否为第一次启动的步骤。3.根据权利要求2所述可编程逻辑器件启动方法,其特征在于,判断所述可编程逻辑器件是否为第一次启动,包括:判断所述服务器系统中是否存储有所述基准哈希值;若否,则所述可编程逻辑器件为第一次启动。4.根据权利要求1所述可编程逻辑器件启动方法,其特征在于,所述可编程逻辑器件具体为CPLD。5.根据权利要求1-4任一项所述可编程逻辑器件启动方法,其特征在于,所述哈希算法具体为SM3算法。6.一种可编程逻辑器件启动系统,其特征在于,包括:判断模块,用于当服务器系统上电后,判断所述可编程逻辑器件是否为第一次启动;若是...

【专利技术属性】
技术研发人员:刘平
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

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

1