智能卡系统抵抗故障攻击的方法技术方案

技术编号:9462768 阅读:86 留言:0更新日期:2013-12-18 23:58
本发明专利技术公开了一种智能卡系统抵抗故障攻击的方法,步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息;步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕;步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕;步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有执行完毕,则可以进行异常处理。本发明专利技术能有效地防范程序流程异常问题,从而防止敏感信息泄露。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种,步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息;步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕;步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕;步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有执行完毕,则可以进行异常处理。本专利技术能有效地防范程序流程异常问题,从而防止敏感信息泄露。【专利说明】
本专利技术涉及一种。
技术介绍
智能卡芯片通常采用硅片制成。硅片的电性能会随着不同的环境参数而变化。例 如,硅片的电性能将随着不同的电压、温度、光、电离辐射以及周围电磁场的变化而改变。攻 击者将通过改变这些环境参数,来试图引入一些错误的行为,包括对芯片的程序流引入故 障。通常,攻击者会迫使芯片做出错误的决定,允许访问存储器中的保密数据。这种行为在 正常情况下是不允许的。参见图1所示,芯片的程序流是由通过COS (片内操作系统)来完成的。COS首先 要接收指令,接收到指令后解析该指令要完成何种功能,然后根据解析出来的功能需求操 作硬件完成相应的操作,最后返回对于这条指令的响应。当COS正在运行时故障被引入,使得芯片的程序流发生改变,当前函数不正常退 出。程序执行流程可能跳出既定的操作,而去执行错误的代码,返回的错误响应,其中可能 包含了敏感的或是保密的信息。
技术实现思路
本专利技术要解决的技术问题是提供一种,能有效地 防范程序流程异常问题,从而防止敏感信息泄露。为解决上述技术问题,本专利技术的,包括如下步 骤:步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息;步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕;步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕;步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有 执行完毕,则可以进行异常处理。目前智能卡内部的COS缺乏安全防护,容易受到故障攻击。本专利技术通过在函数内 部开始位置添加标识信息和在其退出的位置清除标识信息,并检测标识信息是否都被清 除,来判断函数是否异常退出。从而在COS层面有效地抵抗因故障攻击导致的程序运行异 常问题,防止异常敏感信息的泄露;能够为芯片提供可靠的安全防护。采用本专利技术的方法只有在程序流程中的函数才会完成设置执行状态信息的操作, 相对于整个COS来说对执行速度的影响微乎其微。而且其代码量占总代码量比例相当小, 不会影响对内存限制很大的芯片上的使用。【专利附图】【附图说明】下面结合附图与【具体实施方式】对本专利技术作进一步详细的说明:图1是COS控制流程不意图;图2是控制流程示意图。【具体实施方式】结合图2所示,所述,包括如下步骤:步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息。所述内存区 域可以是RAM (随机存储器)、EEPROM (电可擦可编程只读存储器)或Flash (闪存)等存储 器。所述函数的执行状态信息是指函数执行完毕与否的数值。步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕。所述函数的起 始位置是指该函数程序首条代码所在的地址。步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕。所述函数的退 出位置是指该函数程序末条代码所在的地址。步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有 执行完毕,则可以进行异常处理。所述异常处理可以是屏蔽返回数据、响应返回报警信息等 方式,而不是返回错误的数据,从而防止敏感信息被泄露。下面是本专利技术的一个实施例,在该实施例中使用32位系统下的c语言程序做解 释,具体流程如下:第一步,定义一个int型的全局变量g_flag,相当于开辟了一个4字节的内存空 间。设定g_flag的每一位标识一个函数。标识信息的值都设定为1,并初始化为非I。第二步,每个函数的执行状态在起始位置设置为未执行完毕,将每个函数对应的 全局变量g_flag的标识位写I。第三步,每个函数的执行状态在退出位置设置为已执行完毕,将函数对应的全局 变量g_flag的标识位清O。第四步,在返回响应前检测各个函数的执行状态是否都是执行完毕状态,即g_ flag是否为O。如果不为0表明至少存在一个函数异常结束,进行异常处理。综上所述,本专利技术能够有效的防止因故障的导入而引起的程序流异常。其关键步 骤在于:通过设置和检测函数的执行状态,来进行异常检测;通过这种方法能够在不影响 COS执行效率的前提下,防止程序流出现异常,避免敏感的信息泄露。COS的好坏影响着芯片的安全,一个好的COS能够更有效的保护芯片防止被攻击。 本专利技术使得COS具有更强的鲁棒性,能够有效的抵抗故障攻击。当故障被导入时,COS能够 发现异常从而可以采取应对的措施。本专利技术并不限于上文讨论的实施方式。以上对【具体实施方式】的描述旨在于为了描 述和说明本专利技术涉及的技术方案。基于本专利技术启示的显而易见的变换或替代也应当被认为 落入本专利技术的保护范围。以上的【具体实施方式】用来揭示本专利技术的最佳实施方法,以使得本 领域的普通技术人员能够应用本专利技术的多种实施方式以及多种替代方式来达到本专利技术的 目的。【权利要求】1.一种,其特征在于,包括如下步骤:步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息;步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕;步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕;步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有执行 完毕,则进行异常处理。2.如权利要求1所述的方法,其特征在于:步骤I所述的内存区域包括RAM、EEPROM、闪 存Flash存储器。3.如权利要求1或2所述的方法,其特征在于:步骤I所述函数的执行状态信息是指 函数执行完毕与否的数值。4.如权利要求1所述的方法,其特征在于:步骤2所述的函数的起始位置是指该函数 程序首条代码所在的地址。5.如权利要求1所述的方法,其特征在于:步骤3所述的函数的退出位置是指该函数 程序末条代码所在的地址。6.如权利要求1所述的方法,其特征在于:步骤4所述的异常处理可以是屏蔽返回数 据或返回报警信息。【文档编号】G06F12/14GK103455445SQ201210175194【公开日】2013年12月18日 申请日期:2012年5月31日 优先权日:2012年5月31日 【专利技术者】张伟, 马博 申请人:上海华虹集成电路有限责任公司本文档来自技高网...

【技术保护点】
一种智能卡系统抵抗故障攻击的方法,其特征在于,包括如下步骤:步骤1,在智能卡中开辟一块内存区域用来存储函数的执行状态信息;步骤2,在每个函数的起始位置将函数执行状态设置为未执行完毕;步骤3,在每个函数的退出位置将函数执行状态设置为已执行完毕;步骤4,在智能卡返回响应前检测所有函数是否都执行完毕,如果有任何函数没有执行完毕,则进行异常处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:张伟马博
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:

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

1