一种验证IC卡PIN码的方法及IC卡技术

技术编号:17841659 阅读:35 留言:0更新日期:2018-05-03 21:51
本申请公开了一种验证IC卡PIN码的方法及IC卡,方法包括:IC卡接收终端机发出的产生随机数的指令并产生第一随机数;IC卡将产生的第一随机数传输给终端机;IC卡接收终端机发送的利用第一随机数加密的待校验PIN码;IC卡对加密的待校验PIN码进行解密;IC卡将解密后的待校验PIN码与第二随机数进行组合,成为第一新数据;IC卡利用哈希算法对第一新数据进行加密,得到第一哈希值;IC卡将第一哈希值和第二哈希值进行逐位比较;若第一哈希值和第二哈希值完全吻合,则PIN码校验成功,解锁IC卡;若第一哈希值和第二哈希值中某个比特的数据比较出现冲突,则验证失败,验证过程立即结束。本申请无需等时长比较,只要比较不一致立即退出,确定PIN码校验失败。

【技术实现步骤摘要】
一种验证IC卡PIN码的方法及IC卡
本专利技术涉及验证领域,尤其涉及一种验证IC卡PIN码的方法及IC卡。
技术介绍
逻辑安全的首要问题就是验证持卡人的身份,减少智能卡被冒用的可能性,这一过程称作用户鉴别。目前,比较常用的用户鉴别方法为通过验证用户个人识别号PIN(PersonalIdentificationNumber)来确认使用的IC卡的用户是不是合法的持卡人。验证过程如图1所示:持卡人利用读写设备的键盘向IC卡输入PIN码,IC卡把输入的PIN码和事先存储在卡内的PIN码加以比较,比较结果用于用来判断以后可否访问存储器或是执行指令。每次的PIN码验证都是采用等时长的校验过程,这样虽然保证了安全性,但是操作不够简便。并且,上述的整个过程是在卡内完成,这样也可以有效的避免内部PIN的暴露,但预置在卡内的PIN码还是以明文的形式存储,安全性依赖于它所存储的空间安全性,但在恶意攻击的情况下,这样的存储显然不够安全。
技术实现思路
本申请的目的在于提供一种验证IC卡PIN码的方法及IC卡,用于在验证PIN码时省去等时比较过程,验证更加便捷。一种验证IC卡PIN码的方法,其特征在于,PIN码校验过程包括如下步骤:IC卡接收终端机发出的产生随机数的指令并产生第一随机数;IC卡将产生的第一随机数传输给终端机;IC卡接收终端机发送的利用第一随机数加密的待校验PIN码;IC卡对加密的待校验PIN码进行解密;IC卡将解密后的待校验PIN码与第二随机数进行组合,成为第一新数据;其中,将第二随机数作为PIN码干扰数据存储在IC卡内;解密后的待校验PIN码与第二随机数的组合方式和初始化PIN码与第二随机数的组合方式相同;IC卡利用哈希算法对第一新数据进行加密,得到第一哈希值;其中,获取第一哈希值的哈希算法与获取初始化PIN码的第二哈希值的哈希算法相同,第二哈希值被预先存储在IC卡内;IC卡将第一哈希值和第二哈希值进行逐位比较;若第一哈希值和第二哈希值完全吻合,则PIN码校验成功,解锁IC卡;若第一哈希值和第二哈希值中某个比特的数据比较出现冲突,则验证失败,验证过程立即结束。如上的,其中,初始化PIN码包括如下步骤:IC卡接收终端机发送的随机数指令并产生第三随机数和第二随机数;IC卡将产生的第三随机数发送给终端机;IC卡接收终端机发送来的加密的初始化PIN码;IC卡对加密的初始化PIN码进行解密;IC卡将解密的初始化PIN码与第二随机数进行组合,生成第二新数据;IC卡利用哈希算法对第二新数据进行加密,得到第二哈希值,并存储在IC卡的不可读取的空间内。如上的,其中,随机数由卡内的随机数发生器生成,随机数的长度不小于16字节。如上的,其中,当用户再次输入待校验的PIN码,若第一哈希值与第二哈希值进行逐位比较时再次错误,IC卡发出一次警告提示。如上的,其中,当用户输入错误的PIN码超过指定次数时,IC卡向终端机发出报警提示。如上的,其中,初始化PIN码与PIN码干扰数据进行组合的方式为PIN码干扰数据作为初始化PIN码的前缀或者后缀。如上的,其中,对初始化PIN码和待校验PIN码进行加密的方法为对称算法或者非对称算法。如上的,其中,哈希算法可以使用MD5128位、SHA-1(160bitsHash)、SHA-256、SHA-384、SHA-512。一种IC卡,用于验证PIN码,包括:通信模块、随机数指令接收模块、随机数生成模块、随机数发送模块、第一存储模块、待校验PIN码加密数据接收模块、待校验PIN码解密模块、第一新数据生成模块、第一新数据加密模块、哈希值比较模块、IC卡解锁模块、退出模块;通信模块用于与终端机进行数据通信;随机数指令接收模块与通信模块连接,用于接收终端机发送来的随机数指令;随机数生成模块与随机数指令接收模块连接,用于产生随机数;随机数发送模块分别与随机数生成模块和通信模块连接,用于向终端机发送随机数;第一存储模块与随机数生成模块连接,用于存储产生的PIN码干扰数据;待校验PIN码加密数据接收模块与通信模块连接,用于接收终端机发送的加密后的待校验PIN码;待校验PIN码解密模块与待校验PIN码加密数据接收模块连接,用于对加密的待校验PIN码进行解密;第一新数据生成模块与待校验PIN码解密模块连接,用于利用PIN码干扰数据与解密后的待校验PIN码进行组合,生成第一新数据;第一新数据加密模块与第一数据生成模块连接,用于利用哈希算法对第一新数据进行加密生成第一哈希值;哈希值比较模块用于比较第二哈希值与第一哈希值;IC卡解锁模块与哈希值比较模块连接,用于验证成功后解锁IC卡;退出模块与哈希值比较模块连接,用于验证失败后立即退出。如上的,其中,IC卡还包括初始化PIN码接收模块、初始化PIN码解密模块、第二新数据生成模块、第二新数据加密模块、第二存储模块;初始化PIN码接收模块与通信模块连接,用于接收来自终端机传送来的加密后的初始化的PIN码;初始化PIN码解密模块与初始化PIN码接收模块连接,用于对传输来的加密后的初始化PIN码进行解密;第二新数据生成模块与初始化PIN码解密模块连接,用于将PIN码干扰数据与解密后的初始化PIN码进行组合生成第二新数据;第二新数据加密模块与第二新数据生成模块连接,用于利用哈希算法对第二新数据进行加密生成第二哈希值;第二存储模块与第二新数据加密模块连接,用于存储加密后的第二哈希值。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为现有技术中PIN码明文传输验证过程流程图;图2为本申请提供的初始化PIN码加密过程;图3为本申请提供的PIN码校验过程;图4为本申请提供的IC卡内部各功能模块示意图;图5为本申请提供的终端机内部各功能模块示意图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本实施例的终端机与IC卡通过IC卡上的芯片进行数据通信,将IC卡内预置的PIN码通过hash算法计算后的到密码hash值,即加密字符序列,将密码hash值存储在不可读取的空间内,实现了PIN码的加密存储,每次用户身份验证时,需要将IC卡接收到的PIN码通过相同的hash算法生成密码hash值,再与IC卡内的存储的PIN码的hash值进行比较。作为一个实施例,终端机为手机终端机、自助终端机、银行终端机等。如图2所示为初始化PIN码加密过程:步骤S210:终端机向卡片发送产生随机数指令。步骤S220:IC卡接收终端机发送的随机数指令并产生两个随机数,即第二随机数和第三随机数。两个随机数都由卡内的随机数发生器生成,随机数的长度不小于16字节,即:128bit。步骤S230:IC卡将产生的第三随机数发送给终端机,用户在终端机输入待初始化的PIN码,与接收的第三随机数进行异或操作,并对异或后的结果进行加密运本文档来自技高网...
一种验证IC卡PIN码的方法及IC卡

【技术保护点】
一种验证IC卡PIN码的方法,其特征在于,PIN码校验过程包括如下步骤:IC卡接收终端机发出的产生随机数的指令并产生第一随机数;所述IC卡将产生的所述第一随机数传输给所述终端机;所述IC卡接收所述终端机发送的利用所述第一随机数加密的待校验PIN码;所述IC卡对所述加密的待校验PIN码进行解密;所述IC卡将解密后的待校验PIN码与第二随机数进行组合,成为第一新数据;其中,所述的第二随机数作为PIN码干扰数据存储在所述IC卡内;所述解密后的待校验PIN码与所述第二随机数的组合方式和初始化PIN码与所述第二随机数的组合方式相同;所述IC卡利用哈希算法对所述第一新数据进行加密,得到第一哈希值;其中,获取所述第一哈希值的哈希算法与获取所述初始化PIN码的第二哈希值的哈希算法相同,所述第二哈希值被预先存储在所述IC卡内;所述IC卡将所述第一哈希值和所述第二哈希值进行逐位比较;若所述第一哈希值和所述第二哈希值完全吻合,则PIN码校验成功,解锁IC卡;若所述第一哈希值和所述第二哈希值中某个比特的数据比较出现冲突,则验证失败,验证过程立即结束。

【技术特征摘要】
1.一种验证IC卡PIN码的方法,其特征在于,PIN码校验过程包括如下步骤:IC卡接收终端机发出的产生随机数的指令并产生第一随机数;所述IC卡将产生的所述第一随机数传输给所述终端机;所述IC卡接收所述终端机发送的利用所述第一随机数加密的待校验PIN码;所述IC卡对所述加密的待校验PIN码进行解密;所述IC卡将解密后的待校验PIN码与第二随机数进行组合,成为第一新数据;其中,所述的第二随机数作为PIN码干扰数据存储在所述IC卡内;所述解密后的待校验PIN码与所述第二随机数的组合方式和初始化PIN码与所述第二随机数的组合方式相同;所述IC卡利用哈希算法对所述第一新数据进行加密,得到第一哈希值;其中,获取所述第一哈希值的哈希算法与获取所述初始化PIN码的第二哈希值的哈希算法相同,所述第二哈希值被预先存储在所述IC卡内;所述IC卡将所述第一哈希值和所述第二哈希值进行逐位比较;若所述第一哈希值和所述第二哈希值完全吻合,则PIN码校验成功,解锁IC卡;若所述第一哈希值和所述第二哈希值中某个比特的数据比较出现冲突,则验证失败,验证过程立即结束。2.如权利要求1所述的验证IC卡的PIN码的方法,其特征在于,初始化PIN码包括如下步骤:所述IC卡接收终端机发送的随机数指令并产生第三随机数和所述第二随机数;所述IC卡将产生的第三随机数发送给终端机;所述IC卡接收终端机发送来的加密的初始化PIN码;所述IC卡对加密的初始化PIN码进行解密;所述IC卡将解密的初始化PIN码与所述第二随机数进行组合,生成第二新数据;所述IC卡利用哈希算法对所述第二新数据进行加密,得到第二哈希值,并存储在所述IC卡的不可读取的空间内。3.如权利要求1所述的验证PIN码的方法,其特征在于,随机数由卡内的随机数发生器生成,随机数的长度不小于16字节。4.如权利要求1所述的验证PIN码的方法,其特征在于,当用户再次输入待校验的PIN码,若所述第一哈希值与所述第二哈希值进行逐位比较时再次错误,IC卡发出一次警告提示。5.如权利要求4所述的验证PIN码的方法,其特征在于,当用户输入错误的PIN码超过指定次数时,IC卡向终端机发出报警提示。6.如权利要求2所述的验证PIN码的方法,其特征在于,所述初始化PIN码与所述PIN码干扰数据进行组合的方式为所述PIN码干扰数据作为所述初始化PIN码的前缀或者后缀。7.如权利要求1所述的验证PIN码的方法,其特征在于,对所述初始化PIN码和所述待校验PIN码进行加...

【专利技术属性】
技术研发人员:刘春艳陆道如
申请(专利权)人:恒宝股份有限公司
类型:发明
国别省市:江苏,32

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

1