固件安全防护方法和装置、系统及设备制造方法及图纸

技术编号:25690537 阅读:15 留言:0更新日期:2020-09-18 21:02
本申请涉及一种固件安全防护方法,包括:配置在芯片内的控制模块接收上位机下发的控制使能命令后,将控制使能命令传输至芯片的处理器;处理器接收并验证控制使能命令是否为合法命令;在验证出控制使能命令为合法命令时,将芯片中所配置的JTAG模块由默认的禁用状态切换为使能状态。通过在芯片内配置控制模块,并由处理器对JTAG模块进行使能控制,有效防止了在芯片调试阶段或测试阶段时,JTAG模块一直处于使能状态从而导致芯片内固件外泄的情况,有效保证了固件的安全性。同时,还通过对芯片的JTAG模块进行使能控制,有效避免了芯片启动时还需要对固件进行解密的操作,这也就有效加快了芯片的启动效率。

【技术实现步骤摘要】
固件安全防护方法和装置、系统及设备
本申请涉及芯片信息安全
,尤其涉及一种固件安全防护方法和装置、系统及设备。
技术介绍
SSD芯片一般是由逻辑电路和固件构成。芯片内部的算法实现和硬件调度很多都是由固件实现的。在芯片设计和调试阶段需要使用JTAG接口对固件进行调试,解决固件中存在的bug,实现算法优化。由于JTAG接口能够跟踪固件运行和提取数据,因此专业人员可以采用一定的技术手段,将固件的指令代码提取出来,并将其反向还原成固件源代码,从而导致芯片内固件信息的泄漏,使得芯片的安全性较低。在相关技术中,通常会采用对固件进行加密的方式以提高固件的安全性,但是采用对固件本身进行加密的方式,在启动芯片时需要对固件进行解密,解密过程较为复杂,这就使得芯片的启动时间较长,从而影响芯片的性能。
技术实现思路
有鉴于此,本申请提出了一种固件安全防护方法,可以在不影响芯片的启动时间的前提下,还能够有效实现对芯片内的固件的安全防护。根据本申请的一方面,提供了一种固件安全防护方法,包括:配置在芯片内的控制模块接收上位机下发的控制使能命令后,将所述控制使能命令传输至所述芯片的处理器;所述处理器接收并验证所述控制使能命令是否为合法命令;在验证出所述控制使能命令为合法命令时,将所述芯片中所配置的JTAG模块由默认的禁用状态切换为使能状态。在一种可能的实现方式中,还包括:在验证出所述控制使能命令不是合法命令时,控制所述JTAG模块继续保持默认的所述禁用状态。在一种可能的实现方式中,所述处理器接收并验证所述控制使能命令是否为合法命令,包括:所述处理器接收所述控制使能命令并对所述控制使能命令进行解析,得到相应的控制密码;将所述控制密码与预先存储的使能密码相比较;在所述控制密码与所述使能密码相一致时,验证出所述控制使能命令为合法命令。在一种可能的实现方式中,所述控制模块包括UART、SPI和I2C中的任意一种。在一种可能的实现方式中,在所述控制模块接收所述上位机下发的所述控制使能命令之前,还包括:所述上位机下发握手信号至控制模块,由所述控制模块将所述握手信号发送至所述处理器;所述处理器接收所述握手信号并基于所述握手信号与所述上位机建立连接。根据本申请的另一方面,还提供了一种固件安全防护装置,包括控制模块、验证模块和使能模块;其中,所述控制模块配置在芯片内部,并被配置为接收上位机下发的控制使能命令,将接收到的所述控制使能命令传输至所述芯片的处理器;所述验证模块配置在所述处理器中,并被配置为接收所述控制使能命令并验证所述控制使能命令是否为合法命令;所述使能模块配置在所述处理器中,并被配置为在所述验证模块验证出所述控制使能命令为合法命令时,将所述芯片中所配置的JTAG模块由默认的禁用状态切换为使能状态。在一种可能的实现方式中,所述使能模块还被配置为在所述验证模块验证出所述控制使能命令不是合法命令时,控制所述JTAG模块继续保持所述禁用状态。在一种可能的实现方式中,所述验证模块包括接收子模块、解析子模块和比较子模块;所述接收子模块,被配置为接收所述控制使能命令;所述解析子模块,被配置为对所述控制使能命令进行解析,得到相应的控制密码;所述比较子模块,被配置为将所述控制密码与预先存储的使能密码相比较,在比较出所述控制密码与所述使能密码相一致时,验证出所述控制使能命令为合法命令。根据本申请的一方面,还提供了一种固件安全防护系统,包括命令发送模块和前面任一所述的固件安全防护装置;其中,所述命令发送模块适用于装载在上位机中,并被配置为下发控制使能命令至所述固件安全防护装置中的控制模块。根据本申请的另一方面,还提供了一种固件安全防护设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。本申请实施例的固件安全防护方法,通过将芯片中所配置的JTAG模块的默认状态设置为禁用状态,同时在芯片内配置控制模块,由控制模块接收上位机下发的控制使能命令,并将接收到的控制使能命令传输至芯片内的处理器,由处理器对控制使能命令进行验证,在验证出控制使能命令为合法命令时再将JTAG模块的状态切换为使能状态,以达到使能JTAG模块地目的。通过在芯片内配置控制模块,并由处理器对JTAG模块进行使能控制,有效防止了在芯片调试阶段或测试阶段时,JTAG模块一直处于使能状态从而导致芯片内固件外泄的情况,有效保证了固件的安全性。同时,还通过对芯片的JTAG模块进行使能控制,相较于相关技术中对固件直接进行加密来实现固件安全防护的方式,有效避免了芯片启动时还需要对固件进行解密的操作,这也就有效加快了芯片的启动效率。根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。图1示出本申请实施例的固件安全防护方法的流程图;图2示出实现本申请实施例的固件安全防护方法的系统结构示意图;图3示出本申请实施例的固件安全防护方法的数据传输过程示意图;图4示出本申请实施例的固件安全防护装置的结构框图;图5示出本申请实施例的固件安全防护设备的结构框图。具体实施方式以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。图1示出根据本申请实施例的固件安全防护方法的流程图。图2示出实现本申请实施例的固件安全防护方法的系统结构示意图。如图1和图2所示,该方法包括:步骤S100,配置在芯片内的控制模块接收上位机下发的控制使能命令后,将接收到的控制使能命令传输至芯片的处理器。此处,需要指出的是,芯片可以为各种类型的芯片,如:可以为SSD芯片,还可以为其他芯片等,此处不对芯片的类型进行限定。同时,在本申请中,芯片内所配置的JTAG模块的默认状态为禁用状态,从而在对芯片进行调试阶段时,JTAG仿真器与JTAG模块之间是不能进行数据读取和传输的。上位机与芯片的处理器之间的数据传输通过芯片内所配置的控制模块来实现。步骤S200,处理器接收并验证控制使能命令是否为合法命令。在验证出控制使能命令为合法命令时,则通过本文档来自技高网...

【技术保护点】
1.一种固件安全防护方法,其特征在于,包括:/n配置在芯片内的控制模块接收上位机下发的控制使能命令后,将所述控制使能命令传输至所述芯片的处理器;/n所述处理器接收并验证所述控制使能命令是否为合法命令;/n在验证出所述控制使能命令为合法命令时,将所述芯片中所配置的JTAG模块由默认的禁用状态切换为使能状态。/n

【技术特征摘要】
1.一种固件安全防护方法,其特征在于,包括:
配置在芯片内的控制模块接收上位机下发的控制使能命令后,将所述控制使能命令传输至所述芯片的处理器;
所述处理器接收并验证所述控制使能命令是否为合法命令;
在验证出所述控制使能命令为合法命令时,将所述芯片中所配置的JTAG模块由默认的禁用状态切换为使能状态。


2.根据权利要求1所述的方法,其特征在于,还包括:
在验证出所述控制使能命令不是合法命令时,控制所述JTAG模块继续保持默认的所述禁用状态。


3.根据权利要求1所述的方法,其特征在于,所述处理器接收并验证所述控制使能命令是否为合法命令,包括:
所述处理器接收所述控制使能命令并对所述控制使能命令进行解析,得到相应的控制密码;
将所述控制密码与预先存储的使能密码相比较;
在所述控制密码与所述使能密码相一致时,验证出所述控制使能命令为合法命令。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述控制模块包括UART、SPI和I2C中的任意一种。


5.根据权利要求1至3任一项所述的方法,其特征在于,在所述控制模块接收所述上位机下发的所述控制使能命令之前,还包括:
所述上位机下发握手信号至控制模块,由所述控制模块将所述握手信号发送至所述处理器;
所述处理器接收所述握手信号并基于所述握手信号与所述上位机建立连接。


6.一种固件安全防护装置,其特征在于,包括控制模块、验证模块和使能模块;
其中,所述控制模块配置在芯片内部,并...

【专利技术属性】
技术研发人员:刘金鹏巴书法滕向阳
申请(专利权)人:绿晶半导体科技北京有限公司
类型:发明
国别省市:北京;11

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

1