适用于功能和信息安全芯片的CPU指令保护方法及系统技术方案

技术编号:25087496 阅读:37 留言:0更新日期:2020-07-31 23:31
本发明专利技术提供一种适用于功能和信息安全芯片的CPU指令保护方法及系统。本发明专利技术利用散列函数产生生成编码随机值和相应的解码随机值,利用其与原始指令或与编码指令值进行编码运算或解码运算,相应实现指令的重新编码和解码。由于每一轮散列函数的输出都包含前面每一轮指令的信息,所以任意一步发生错误,都会影响后续的全部编解码过程,因此,其本发明专利技术中各条指令之间的编码随机值和解码随机值具有相应的延续性,能够将任一步骤内出现的异常延续到后续步骤中,从而实现对芯片功能安全和信息安全的检测,并能够在执行后对指令进行重新编码比较,保护了CPU指令存储、读取、译码、执行过程的功能安全和信息安全。

【技术实现步骤摘要】
适用于功能和信息安全芯片的CPU指令保护方法及系统
本专利技术涉及芯片安全
,具体而言涉及一种适用于功能和信息安全芯片的CPU指令保护方法及系统。
技术介绍
CPU(centralprocessingunit,中央处理器)是计算机系统的运算和控制核心,CPU指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。目前大多数CPU执行指令,需要经历指令存储,读取,译码,执行这一系列过程。这些过程中的每一步中均存在一定概率遇到随机错误,从而导致功能安全问题。设备运行过程中,也存在被黑客攻击所带来的信息安全问题。因此,芯片的CPU指令系统需要功能安全和信息安全的双重保障。目前,越来越多的芯片需要提供功能安全和信息安全的保障。由此,现有技术中存在有大量指令存储读取和CPU的保护方法。例如有CPU双核互锁方法,指令加密与签名方法,指令增加校验位等方法。但是,现有保护方法,其无法检测也无法定位指令存储、读取、译码、执行过程中产生的随机错误。现有方式下随机错误只会随着指令的读取、译码、执本文档来自技高网...

【技术保护点】
1.一种适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,在向指令存储单元存储指令时,按照以下步骤进行指令编码:/n将需要存储的原始指令与编码随机值进行编码运算,将编码运算所获得的编码指令值存储在指令存储单元中;/n其中,所述编码随机值为预先获得的初始值,或所述编码随机值为按照散列函数对上一条原始指令以及上一条原始指令所对应的编码随机值进行计算而获得;/n在读取指令后,按照以下步骤进行指令解码:/n将读取指令存储单元所获得的编码指令值与解码随机值进行解码运算,得到解码后指令;/n其中,所述解码随机值为预先获得的初始值,或所述解码随机值为按照散列函数对上一条解码后指令以及上一条解码后指令...

【技术特征摘要】
1.一种适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,在向指令存储单元存储指令时,按照以下步骤进行指令编码:
将需要存储的原始指令与编码随机值进行编码运算,将编码运算所获得的编码指令值存储在指令存储单元中;
其中,所述编码随机值为预先获得的初始值,或所述编码随机值为按照散列函数对上一条原始指令以及上一条原始指令所对应的编码随机值进行计算而获得;
在读取指令后,按照以下步骤进行指令解码:
将读取指令存储单元所获得的编码指令值与解码随机值进行解码运算,得到解码后指令;
其中,所述解码随机值为预先获得的初始值,或所述解码随机值为按照散列函数对上一条解码后指令以及上一条解码后指令所对应的解码随机值进行计算而获得;
其中,所述编码运算和所述解码运算互为逆运算。


2.如权利要求1所述的适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,还包括以下步骤校验所述解码后指令是否正确:
在所述解码后指令执行完成后进行指令编码,比较其进行指令编码所获得的结果是否与指令存储单元中所存储的编码指令值相同,若相同则确认所述解码后指令正确,若不同则表示存在异常。


3.如权利要求1所述的适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,指令编码过程中,仅对程序中的首条原始指令,或程序中各分支所汇合的原始指令,或程序中函数调用的首条原始指令,采用预先获得的初始值作为编码随机值进行编码运算而获得编码指令值;
指令解码过程中,仅对程序中的首条编码指令值,或程序中各分支所汇合的编码指令值,或程序中函数调用的首条编码指令值,采用预先获得的初始值作为解码随机值进行解码运算而获得解码后指令。


4.如权利要求1所述的适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,所述散列函数的输出长度至少达到单条原始指令的最大长度。


5.如权利要求4所述的适用于功能和信息安全芯片的CPU指令保护方法,其特征在于,若散列函数的输出长度与需要编码的原始指令的长度不同,则:
在向指令存储单元存储指令时,截取散列函数所输出的随机数中的固定位作为编码随机值,用于对需要编码的原始指令进行指令编码;并对应在读取指令后,截取散列函数所输出的随机数中同样的固定位作为解码随机值,用于对读取到的编码指令值进行指令解码。


6.如权利要求3所述的适用于功能和信息安全...

【专利技术属性】
技术研发人员:朱华
申请(专利权)人:南京芯驰半导体科技有限公司
类型:发明
国别省市:江苏;32

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

1