密码核的安全验证方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38758605 阅读:35 留言:0更新日期:2023-09-10 09:43
本说明书涉及一种密码核的安全验证方法、装置、电子设备及存储介质。其中,安全验证方法包括:以密码核的执行逻辑为参考,基于信息流模型库中的目标基础模型生成密码核对应的目标信息流模型;其中,密码核对应有逻辑函数,逻辑函数包括运算单元,目标基础模型用于描述在执行运算单元时对电路信号的运算过程;目标信息流模型用于描述在执行密码核时对电路信号的运算过程;针对密码核需要验证的安全属性构建对应的安全属性断言;其中,安全属性断言用于加入目标信息流模型中;通过执行加入安全属性断言后的目标信息流模型,对密码核进行安全验证。本说明书实施例能够基于信息流分析的方式,处理RTL级代码,具有更高的验证效率和验证精度。精度。精度。

【技术实现步骤摘要】
密码核的安全验证方法、装置、电子设备及存储介质


[0001]本说明书涉及集成电路领域,尤其是涉及一种密码核的安全验证方法、装置、电子设备及存储介质。

技术介绍

[0002]密码核是指能够进行加解密运算的集成电路设计。集成电路是计算机系统的核心,也是信息处理、存储和传输的重要支撑平台。随着集成电路的发展,集成电路的设计规模不断增大。目前,典型的集成电路设计已经达到数十个密码核。
[0003]然而,密码核中可能存在由于设计缺陷而引入的安全漏洞。这些设计缺陷通常是由于硬件设计说明不完善、编码不规范、性能优化等因素导致的。虽然这些设计缺陷可能是由于设计者无意导致的,但是一旦这些设计缺陷导致的安全漏洞被攻击者发掘和利用,就会导致关键信息的泄露或者导致电路不能实现正常功能。因此,针对密码核进行安全验证是十分重要的。
[0004]相关技术中,使用门级代码进行的信息流分析安全验证,能够比常用的功能验证覆盖率更高。然而,基于门级代码进行的信息流安全验证在遇到大规模电路设计时,会遇到技术爆炸的问题,并且该方式验证效率低。

技术实现思路

[0005]本说明书旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本说明书的一个目的在于提出一种密码核安全验证方法,能够基于信息流分析的方式,处理RTL级代码,具有更高的验证效率和验证精度。
[0006]本说明书第二个目的在于提出一种密码核安全验证装置。
[0007]本说明书第三个目的在于提出一种电子设备。
[0008]本说明书第四个目的在于提出一种计算机可读存储介质。
[0009]为达上述目的,本说明书第一方面实施例提出了一种密码核安全验证方法。所述安全验证方法包括:以所述密码核的执行逻辑为参考,基于信息流模型库中的目标基础模型生成所述密码核对应的目标信息流模型;其中,所述密码核对应有逻辑函数,所述逻辑函数包括运算单元,所述目标基础模型用于描述在执行所述运算单元时对电路信号的运算过程;所述目标信息流模型用于描述在执行所述密码核时对电路信号的运算过程;针对所述密码核需要验证的安全属性构建对应的安全属性断言;其中,所述安全属性断言用于加入所述目标信息流模型中;通过执行加入所述安全属性断言后的目标信息流模型,对所述密码核进行安全验证。
[0010]在本说明书的一些实施例中,所述以所述密码核的执行逻辑为参考,基于信息流模型库中的目标基础模型生成所述密码核对应的目标信息流模型,包括:拆分所述密码核得到多个逻辑函数;其中,所述逻辑函数包括至少一个运算单元;针对任一逻辑函数,在所述信息流模型库中确定所述任一逻辑函数包括的运算单元所对应的目标基础模型;以所述
任一逻辑函数的执行逻辑为参考,基于所述目标基础模型生成所述任一逻辑函数对应的目标中间模型;以所述密码核的执行逻辑为参考,基于所述目标中间模型和/或所述目标基础模型生成所述目标信息流模型。
[0011]在本说明书的一些实施例中,所述多个逻辑函数包括数据流逻辑函数和控制流逻辑函数;其中,所述数据流逻辑函数表示使用显示赋值方式的逻辑函数;所述控制流逻辑函数表示使用隐式赋值方式的逻辑函数;所述以所述任一逻辑函数的执行逻辑为参考,基于所述目标基础模型生成所述任一逻辑函数对应的目标中间模型,包括:针对所述多个逻辑函数中的任一数据流逻辑函数,以所述任一数据流逻辑函数的执行逻辑为参考,基于所述任一数据流逻辑函数对应的第一目标基础模型生成所述任一数据流逻辑函数对应的显示流中间模型;针对所述多个逻辑函数中的任一控制流逻辑函数,以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型。
[0012]在本说明书的一些实施例中,所述数据流逻辑函数包括至少一个数据流变量;基于所述任一数据流逻辑函数对应的第一目标基础模型生成所述任一数据流逻辑函数对应的显示流中间模型之前,所述方法还包括:对所述任一数据流逻辑函数中的任一数据流变量进行位宽拓展得到所述任一数据流变量对应的多位宽数据流变量;其中,所述多位宽数据流变量用于适配所述第一目标基础模型的输入。
[0013]在本说明书的一些实施例中,针对所述多个逻辑函数中的任一控制流逻辑函数,以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型,包括:确定所述任一控制流逻辑函数所包括的条件语句,并为所述条件语句生成对应的条件变量;在所述信息流模型库中确定与所述任一控制流逻辑函数对应的第二目标基础模型;在所述第二目标基础模型中添加针对所述任一控制流逻辑函数生成的条件变量;以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的添加所述条件变量后的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型。
[0014]在本说明书的一些实施例中,针对所述密码核需要验证的安全属性构建对应的安全属性断言,包括:针对任一安全属性,确定所述密码核中用于验证所述任一安全属性的待验证信号;基于所述任一安全属性所对应的信息流安全策略,对所述待验证信号设置安全标签并进行安全级别划分;基于所述任一安全属性对应的信息流安全策略、所述待验证信号对应的安全标签以及所述待验证信号对应的安全级别,生成所述任一安全属性对应的安全属性断言。
[0015]在本说明书的一些实施例中,所述安全属性对应有待验证信号,所述待验证信号设置有安全标签;通过执行加入所述安全属性断言后的目标信息流模型,对所述密码核进行安全验证,包括:针对所述密码核的任一安全属性的验证,通过所述任一安全属性对应的待验证信号在所述目标信息流模型中的运算,确定所述待验证信号流入目标输出位的输出安全标签;其中,所述输出安全标签是所述待验证信号对应的安全标签经过运算得到的;基于所述输出安全标签和所述待验证信号对应的安全标签的比较结果,确定针对所述任一安全属性的验证结果。
[0016]在本说明书的一些实施例中,所述安全属性包括机密性验证;针对所述密码核需
要验证的安全属性构建对应的安全属性断言,包括:针对所述机密性验证,确定所述密码核中用于所述机密性验证的待验证密钥信号;基于所述机密性验证所对应的信息流安全策略,对所述待验证密钥信号设置安全标签并进行安全级别划分;基于所述机密性验证对应的信息流安全策略、所述待验证密钥信号对应的安全标签以及安全级别,生成所述机密性验证对应的安全属性断言。
[0017]在本说明书的一些实施例中,所述待验证密钥信号对应的目标输出位包括密文输出位;通过执行加入所述安全属性断言后的目标信息流模型,对所述密码核进行安全验证,包括:通过所述待验证密钥信号在所述目标信息流模型中的运算,确定所述待验证密钥信号流入所述密文输出位的第一输出安全标签;其中,所述第一输出安全标签是所述待验证密钥信号对应的安全标签经过运算得到的;基于所述第一输出安全标签和所述待验证密钥信号对应的安全标签的比较结果,确定所述机密性验证的验证结果。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密码核安全验证方法,其特征在于,所述方法包括:以所述密码核的执行逻辑为参考,基于信息流模型库中的目标基础模型生成所述密码核对应的目标信息流模型;其中,所述密码核对应有逻辑函数,所述逻辑函数包括运算单元,所述目标基础模型用于描述在执行所述运算单元时对电路信号的运算过程;所述目标信息流模型用于描述在执行所述密码核时对电路信号的运算过程;针对所述密码核需要验证的安全属性构建对应的安全属性断言;其中,所述安全属性断言用于加入所述目标信息流模型中;通过执行加入所述安全属性断言后的目标信息流模型,对所述密码核进行安全验证。2.根据权利要求1所述的方法,其特征在于,所述以所述密码核的执行逻辑为参考,基于信息流模型库中的目标基础模型生成所述密码核对应的目标信息流模型,包括:拆分所述密码核得到多个逻辑函数;其中,所述逻辑函数包括至少一个运算单元;针对任一逻辑函数,在所述信息流模型库中确定所述任一逻辑函数包括的运算单元所对应的目标基础模型;以所述任一逻辑函数的执行逻辑为参考,基于所述目标基础模型生成所述任一逻辑函数对应的目标中间模型;以所述密码核的执行逻辑为参考,基于所述目标中间模型和/或所述目标基础模型生成所述目标信息流模型。3.根据权利要求2所述的方法,其特征在于,所述多个逻辑函数包括数据流逻辑函数和控制流逻辑函数;其中,所述数据流逻辑函数表示使用显示赋值方式的逻辑函数;所述控制流逻辑函数表示使用隐式赋值方式的逻辑函数;所述以所述任一逻辑函数的执行逻辑为参考,基于所述目标基础模型生成所述任一逻辑函数对应的目标中间模型,包括:针对所述多个逻辑函数中的任一数据流逻辑函数,以所述任一数据流逻辑函数的执行逻辑为参考,基于所述任一数据流逻辑函数对应的第一目标基础模型生成所述任一数据流逻辑函数对应的显示流中间模型;针对所述多个逻辑函数中的任一控制流逻辑函数,以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型。4.根据权利要求3所述的方法,其特征在于,所述数据流逻辑函数包括至少一个数据流变量;基于所述任一数据流逻辑函数对应的第一目标基础模型生成所述任一数据流逻辑函数对应的显示流中间模型之前,所述方法还包括:对所述任一数据流逻辑函数中的任一数据流变量进行位宽拓展得到所述任一数据流变量对应的多位宽数据流变量;其中,所述多位宽数据流变量用于适配所述第一目标基础模型的输入。5.根据权利要求3所述的方法,其特征在于,针对所述多个逻辑函数中的任一控制流逻辑函数,以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型,包括:确定所述任一控制流逻辑函数所包括的条件语句,并为所述条件语句生成对应的条件变量;在所述信息流模型库中确定与所述任一控制流逻辑函数对应的第二目标基础模型;
在所述第二目标基础模型中添加针对所述任一控制流逻辑函数生成的条件变量;以所述任一控制流逻辑函数的执行逻辑为参考,基于所述任一控制流逻辑函数对应的添加所述条件变量后的第二目标基础模型生成所述任一控制流逻辑函数对应的隐式流中间模型。6.根据权利要求1所述的方法,其特征在于,针对所述密码核需要验证的安全属性构建对应的安全属性断言,包括:针对任一安全属性,确定所述密码核中用于验证所述任一安全属性的待验证信号;基于所述任一安全属性所对应的信息流安全策略,对所述待验证信号设置安全标签并进行安全级别划分;基于所述任一安全属性对应的信息流安全策略、所述待验证信号对应的安全标签以及所述待验证信号对应的安全级别,生成所述任一安全属性对应的安全属性断言。7.根据权利要求1所述的方法,其特征在于,所述安全属性对应有待验证信号,所述待验证信号设置有安全标签;通过执行加入所述安全属性断言后的目标信息流模型,对所述密码核进行安全验证,包括:针对所述密码核的任一安全属性的验证,通过所述任一安全属性对应的待验证信号在所述目标信息流模型中的运算,确定所述待验证信号流入目标输出位的输出安全标签;其中,所述输出安全标签是所述待验证信号对应的安全标签经过运算得到的;基于所述输出安全标签和所述待验证信号对应的安全标签的比较结果,确定针对所述任一安全属性的验证结果。8.根据权利要求1所述的方法,其特征在于,所述安全属性包括机密性验证;针对所述密码核需要验证的安全属性构建对应的安全属性断言,包括:针对所述机密性验证,确定所述密码核中用于所述机密性验证的待验证密钥信号;基于所述机密性验证所对应的信息流安全策略,对所述待验证密钥信号设置安全标签并进行安全级别划分;基于所述机密性验证对应的信息流安全策略、所述待验证密钥信号对应的安全标签以及安全级别,生成所述机密性验证对应的安全属性断言。9.根据权利要求8所述的方法,其特征在于,所述待...

【专利技术属性】
技术研发人员:张茜歌慕德俊周佳慧朱嘉诚姜义初沈利香赵豪任增民
申请(专利权)人:西北工业大学
类型:发明
国别省市:

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

1