本发明专利技术是一种CPU取指令异常的安全处理方法,主要应用于智能卡的存储器安全访问控制系统中。当系统由于外界条件干扰出现运行混乱而访问非授权程序区时,或者攻击者故意访问非授权程序区时,安全访问控制系统将会根据预先设置的权限列表,检测到出现的取指令异常,并且对其不合法的取指令操作返回一个特殊的指令码,在CPU执行完成此指令码后,会使得芯片进入到一个固定的安全状态,从而避免系统运行异常导致的数据丢失、敏感信息泄露以及被攻击者操纵。
【技术实现步骤摘要】
一种CPU取指令异常的安全处理方法和电路
本专利技术主要应用于各种智能卡芯片的安全访问控制系统中。技术背景随着智能卡技术的快速发展,其以优越的便利性和安全性,逐渐应用到各个行业中,包括电子证件、移动通信、金融支付、身份识别、公交、加油等。但是伴随着智能卡应用的开放性,其工作环境也变得多种多样,对安全性和稳定性也提出了越来越高的挑战。智能卡芯片经常会处于恶劣的外部工作环境下,如电源不稳定、时钟频率干扰等, 特别是芯片上下电过程或者热插拔过程,外部各管脚输入的电信号常常会发生畸变;有时芯片还会遭到攻击者的恶意破坏,如各种故障注入攻击、物理攻击等。这些非正常的工作条件都可能会使得系统工作流程出现混乱,最常见的就是CPU的程序指针出错,从而出现取指令异常的情形。如果处理不好将会出现以下几种问题1、程序运行路径不可控,会异常地运行到特殊程序区,如NVM擦写程序区,从而触发NVM的擦除或编程操作,导致NVM代码或数据混乱;2、程序运行路径不可控,还有可能异常运行到非授权区域,泄漏内部敏感信息;3、程序运行路径不可控,还有可能无法正常使能安全控制单元,使得芯片工作于一种不安全的状态下,容易被攻击者利用。面对上述问题,现在常用的处理方法有以下两种1、当发生取指令违反的时候,会触发一个异常中断请求,中断控制器通过预先定义的中断优先级和中断向量表,执行对应的中断服务程序,由软件来灵活决定对此取指令违反的处理行为,可以对系统复位,也可以对系统死锁。这种方法的缺点是必须占用有效的中断资源,且需要定义中断向量表,开发中断服务程序软件,对用户程序的接口不够友好。2、当发生取指令违反的时候,会触发一个系统复位请求,通过复位控制电路处理使得系统自动回到安全初始状态。这种方法的缺点是必须对复位电路进行特殊处理,会增加复位控制系统的复杂度,且处理方法不够灵活。本专利技术所公开的CPU取指令异常的安全处理方法,就是利用CPU的指令系统资源, 在不增加系统额外开销的基础上,通过存储器安全访问控制,就能够很好地解决上述工作稳定性和安全性的诸多问题,而且对于三种异常处理,使用统一特殊指令码的设计方法,不需要付出额外硬件代价,用户软件接口也不需要额外处理。
技术实现思路
本专利技术解决的问题是当智能卡芯片系统在不稳定或不安全的工作环境下,出现内部CPU运行混乱而导致取指令异常时,仍能够保证系统处于一个固定的安全状态。为解决上述问题,本专利技术利用CPU指令系统中的特殊指令,当取指令时,存储访问控制电路检测到异常,自动返回特殊指令的编码如复位指令、自跳转指令、中断指令,使得系统处于复位状态或自锁状态,避免出现执行混乱的情况。其技术方案参考图1所示的CPU取指令异常安全控制系统框图,具体包括如下部分1、异常探测电路(Exception Detector)对CPU取指令访问的合法性进行判断,正常情况返回0,错误情况下返回1 ;2、指令码选择器根据异常探测电路的返回值,决定返回的指令码是自定义的特殊指令码,还是存储器读出的指令码;3、CPU 取指令电路(Instruction Fetching)获取存储器接口电路(Memory Interface)返回的指令码后,由CPU译码电路进行译码,并根据返回指令码类型进行相应的操作,不管是正常的指令码还是异常处理指令码都属于CPU指令系统的一部分。本专利技术与现有技术相比,有以下优点充分利用了 CPU指令系统的已有资源,仅仅通过存储器安全访问控制电路,在取指令异常时返回特殊指令码,就可以达到解决取指令异常的安全问题。附图说明图1是CPU取指令异常安全控制系统框图图2是CPU取指令异常复位处理时序图图3是CPU取指令异常自跳转死锁处理时序图图4是CPU取指令异常中断处理时序图具体实施方式下面,结合附图和实施例子对本专利技术提出的CPU取指令异常的安全处理方法做进一步的描述。从图1可以看出,本专利技术的CPU取指令异常安全控制系统包括异常探测电路 102 (Exception Detector)、存储器接口 电路 103 (Memory Interface)、特殊指令码 104 以及指令码选择器105。以下分别进行详细描述1、异常探测电路102,能够根据CPU取指令电路101发出的取指令请求和取指令地址进行判断,判断其取指令的请求是否合法,如果是正常的取指令操作则返回正常状态0, 如果是异常的取指令操作则返回违法状态,并以此状态作为指令码选择器的控制输入;2、特殊指令码产生器104,会根据配置要求,输出几种CPU指令系统中特殊的指令编码,如复位指令、自跳转指令或中断指令,软件开发时可以灵活选择;3、指令码选择器105,根据异常探测电路的返回值,决定返回的指令码是自定义的特殊指令码,还是存储器读出的指令码;4、存储器接口电路104,负责与CPU取指令电路的接口,按照与CPU要求的时序把指令码选择器输出的指令码数据返回给CPU取指令电路,并由CPU进行译码处理;5、如果系统定义异常处理使用软复位的方法,则在判断的取指令出现违法的时候,自动返回软复位指令给CPU,CPU译码后将会产生复位请求,并自动复位内部所有电路, CPU的程序指针则会重新回到默认状态,从0000地址开始取指令,保证从异常的状态恢复出来,参考图2的处理时序6、如果系统定义异常处理使用自跳转死锁的方法,则在判断的取指令出现违法的时候,自动返回自跳转指令给CPU,CPU译码后将会产生重新向原来的错误PC地址取指令,再次触发原来相同的违法操作,继续再次向原来的错误PC地址取指令,从而达到程序死锁的目的,保证不会产生进一步的异常,参考图3的处理时序 7、如果系统定义异常处理使用中断的方法,则在判断的取指令出现违法的时候, 自动返回不可屏蔽的中断请求指令给CPU,CPU译码后将会响应此中断,根据中断类型向中断向量表取指令,并在中断服务程序中对此异常进行自定义安全处理,从而达到从异常的状态恢复出来的目的,参考图4的处理时序图。权利要求1.一种CPU取指令异常的安全处理电路,其特征在于包括CPU取指令电路、异常探测电路、特殊指令码产生器、指令码选择器、存储器接口电路、程序存储器,其中异常探测电路根据CPU取指令电路发出的取指令请求和取指令地址进行判断,判断其取指令的请求是否合法,如果是正常的取指令操作则返回正常状态,如果是异常的取指令操作则返回违法状态,并以此状态作为指令码选择器的控制输入;特殊指令码产生器根据配置要求,输出CPU指令系统中特殊的指令编码;指令码选择器根据异常探测电路的返回值,决定返回的指令码是CPU指令系统中特殊的指令编码,还是程序存储器读出的指令码;存储器接口电路负责与CPU取指令电路的接口,按照与CPU要求的时序把指令码选择器输出的指令码数据返回给CPU取指令电路,并由CPU进行译码处理。2.—种CPU取指令异常的安全处理方法,应用于如权利要求1所述的电路中,其特征是利用已知CPU指令系统中定义的特殊指令,当从程序存储器中取指令出现异常的时候,存储器访问控制系统自动返回特殊指令对应的编码数据,使得CPU执行已预先设定类型的指令。3.如权利要求2所述的一种CPU取指令异常的安全处理方法,其特征在于CPU指令系统的特殊指令有复位指令、自跳转指令、中断指令。4.如权本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:李坤,叶茵,
申请(专利权)人:北京中电华大电子设计有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。