一种防攻击的PIN码保护方法技术

技术编号:10784723 阅读:83 留言:0更新日期:2014-12-17 11:57
本发明专利技术公开了一种防攻击的PIN码保护方法,其通过对正常交易和异常交易的能量和时间差异进行平衡,能够完美解决对于PIN码的穷举攻击,保证交易过程中PIN的安全性。

【技术实现步骤摘要】
一种防攻击的PIN码保护方法
本专利技术涉及智能卡的信息安全技术,具体涉及PIN码的保护技术。
技术介绍
芯片技术的发展日新月异,各种应用层出不穷。U盾产品,动态令牌产品,银行卡产品等等,都需要通过一个共同的属性PIN码来保证用户对于产品的合法持有资格PIN码的中文全称为个人身份识别码,属于智能卡行业安全的核心数据。PIN码的安全性直接关系到用户身份的确认以及相关账户和设备的安全性。目前市场上产品,往往因为没有考虑到可能的攻击和破解而存在巨大的安全隐患。常规的攻击破解PIN码方式为借助特殊设备,针对产品(一般为智能芯片)交易过程的能量和交易时间进行分析,总结出正常交易和异常交易的差异,进而想办法进行穷举攻击以获取设备的PIN码,从而获取对产品的非法持有资格,最终窃取用户的合法利益。常规产品的PIN码验证过程中的能量和交易时间流程分析如下,假设PIN码最多有三次可以尝试的机会(参见图1-图3):图中实箭头表示实际存在的步骤,虚箭头表示不存在的步骤,数字表示用时毫秒,波形凸起表示能量升高。参见图1,其所示为正常验证通过数据分析的波形图。参见图2,其所示为正常验证失败数据分析的波形图。参见图3,其所示为拒绝验证数据分析的波形图。通过对比分析发现,正常验证通过(图1)和正常验证失败(图2)波形和用时都有较大差异,很容易受到差异化攻击。在没有特殊设备攻击的条件下,正常验证失败执行完毕后,可尝试次数可以减1,机制正常。但是根据目前的分析结果,进行差异化攻击,很快可以穷举破解PIN码。原因是,依据波形的能量差异很容易发现,验证失败的波形图2有明显的能量凸起,通过验证的图1则没有能量凸起。由此可非常容易定位时间和能量差异的区间为攻击区间,故在攻击区间断电,PIN码可尝试此时就不会改变。如此,通过比对图1、图2的能量差异,很容易进行PIN码的穷举攻击,即波形一致时则被破解。
技术实现思路
针对现有PIN码通过进行差异化攻击,可以被穷举破解的问题,本专利技术的目的在于提供一种防攻击的PIN码保护方法,以提高PIN码的安全性。为了达到上述目的,本专利技术采用如下的技术方案:一种防攻击的PIN码保护方法,该方法通过平衡正常交易和异常交易的能量和时间差异,保证PIN码的安全性。在该保护方法的优选方案中,所述保护方法首先把可尝试次数减1,之后再备份尝试次数,再进行PIN码内容验证;在验证失败时,对正常交易和异常交易之间的能量和时间差异进行弥补平衡。进一步的,所述保护方法的具体过程如下:(1)查找PIN密钥是否存在,若存在,则转入步骤(2);若不存在,则转入步骤(10);(2)检查PIN是否可用;(3)将验证PIN密钥的可尝试次数减1;(4)备份当前的验证PIN密钥的可尝试次数;(5)验证PIN的内容是否一致,若验证结果通过,转入步骤(6);若验证结果不通过,转入步骤(8);(6)恢复验证PIN密钥的最大可尝试次数;(7)删除旧的可尝试次数备份,并转入步骤(10);(8)平衡芯片的能量功耗和执行时间;(9)删除旧的可尝试次数备份;(10)返回验证结果,退出。再进一步的,所述步骤(8)在平衡相应能量功耗和执行时间时,通过对一处无用的非易失性存储介质的修改操作,抬升芯片进行该步骤的修改操作的能量功耗和执行时间,使其与芯片执行步骤(6)的能量功耗和执行时间一致。本专利技术提供的方法能够完美解决对于PIN码的穷举攻击,保证交易过程中PIN的安全性。附图说明以下结合附图和具体实施方式来进一步说明本专利技术。图1为常规产品的PIN码验证过程中正常验证通过数据分析的波形图;图2为常规产品的PIN码验证过程中正常验证失败数据分析的波形图;图3为常规产品的PIN码验证过程中拒绝验证数据分析的波形图;图4为本专利技术的PIN码验证过程中正常验证通过数据分析的波形图;图5为本专利技术的PIN码验证过程中正常验证失败数据分析的波形图;图6为本专利技术的PIN码验证过程中拒绝验证数据分析的波形图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。为了有效杜绝针对产品PIN码的穷举攻击,本方案首先把可尝试次数减1,之后再备份尝试次数,再者进行PIN码内容验证;在验证失败时,对正常交易和异常交易之间的能量和时间差异进行弥补平衡。其中弥补平衡能量和时间,主要对一处无用的非易失性存储介质的修改操作,抬升芯片的能量功耗和执行时间。基于上述原理,本方案针对PIN码的验证交易过程如下(参见图4至图6):(1)查找PIN密钥是否存在,若存在,则转入步骤(2);若不存在,则转入步骤(10);(2)检查PIN是否可用,即验证PIN剩余的可尝试机会,0表示PIN不可用;(3)将验证PIN密钥的可尝试次数减1;(4)备份当前的验证PIN密钥的可尝试次数,防止断电破坏;(5)验证PIN的内容是否一致,若验证结果通过,转入步骤(6);若验证结果不通过,转入步骤(8);(6)恢复验证PIN密钥的最大可尝试次数;(7)删除旧的可尝试次数备份,避免上电恢复旧的可尝试次数,并转入步骤(10);(8)平衡芯片修改当前验证PIN密钥可尝试次数的能量功耗和执行时间;(9)删除旧的可尝试次数备份,避免上电恢复旧的可尝试次数;(10)返回验证结果,退出;其中,步骤(8)在平衡相应能量功耗和执行时间时,通过对一处无用的非易失性存储介质的修改操作,抬升芯片进行该步骤的修改操作的能量功耗和执行时间,使其与芯片执行步骤(6)的能量功耗和执行时间一致。本方案在PIN验证失败时,进行能量弥补,隐藏与正常验证通过时不同的差异化区域,避免攻击者定位攻击区间;即使找到差异化区域,由于本方案已经在备份尝试次数之前,将可尝试次数减1,这样若遭到断电攻击,恢复的尝试次数已经减1,如此,当可尝试次数用完,PIN验证将无法继续,避免穷举攻击。以下通过具体实例来进一步说明本专利技术方案:假设PIN码最多有三次可以尝试的机会,同时图1至图6中实箭头表示实际存在的步骤,虚箭头表示不存在的步骤,数字表示用时毫秒,波形凸起表示能量升高。参见图1至3,由图可知,现有PIN验证交易的过程一般包括如下步骤:(1)查找PIN密钥是否存在;(2)检查PIN是否可用(即剩余的可尝试机会,0表示PIN不可用);(3)验证PIN的内容是否一致;(4)备份旧的可尝试次数,防止断电破坏;(5)修改当前可尝试次数,验证失败需要减1;(6)删除旧的可尝试次数备份,避免上电恢复旧的可尝试次数;(7)返回验证结果,退出其中,芯片执行步骤1、2、3、7的执行时间0.1ms,所需功耗忽略;芯片执行步骤4、5、6的执行时间5.0ms,功耗大,凸起明显。参见图1,传统正常交易时:PIN验证通过,步骤4、5、6从理论上可以省略;参见图2,传统异常交易时:PIN验证失败,步骤4、5、6必须要有。通过对比,可确定正常交易和异常交易在步骤4、5、6这个区间上的执行时间和能量上差异很大。由于步骤4、5、6需要修改芯片的非易失性存储介质,需要芯片提供较高能量,且操作时间较长,攻击者很容易定位该区间为攻击区间(如图2所示),进行断电攻击。在进行断电攻击时,攻击者发现异常交易的步骤4能量凸起后,马上给芯片断电。芯片重新上电后,首先进行断电恢复,恢复后,本文档来自技高网
...
一种防攻击的PIN码保护方法

【技术保护点】
一种防攻击的PIN码保护方法,其特征在于,所述方法通过平衡正常交易和异常交易的能量和时间差异,保证PIN码的安全性。

【技术特征摘要】
1.一种防攻击的PIN码保护方法,其特征在于,所述方法通过平衡正常交易和异常交易的能量和时间差异,保证PIN码的安全性;所述保护方法首先把可尝试次数减1,之后再备份尝试次数,再进行PIN码内容验证;在验证失败时,对正常交易和异常交易之间的能量和时间差异进行弥补平衡。2.根据权利要求1所述的一种防攻击的PIN码保护方法,其特征在于,所述保护方法的具体过程如下:(1)查找PIN密钥是否存在,若存在,则转入步骤(2);若不存在,则转入步骤(10);(2)检查PIN是否可用;(3)将验证PIN密钥的可尝试次数减1;(4)备份当前的验证PIN密钥的可尝...

【专利技术属性】
技术研发人员:胡永刚沈勇坚王翔平
申请(专利权)人:上海动联信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1