一种智能卡数据处理方法技术

技术编号:11824874 阅读:109 留言:0更新日期:2015-08-05 03:13
本发明专利技术提供了一种智能卡数据处理方法,该方法包括:智能卡和读卡器交换密钥,使用数字签名算法相互进行身份认证,使用交换后生成的密钥对智能卡和读卡器之间传输的数据进行加密。本发明专利技术的方法用较低的资源开销实现了智能卡与读卡器之间的认证和数据传输处理,能够抵抗常见的攻击,具备可扩展性。

【技术实现步骤摘要】

本专利技术涉及智能卡安全,特别涉及。
技术介绍
随着计算机技术不断发展,智能卡作为一种快捷、安全的手段被人们普遍使用。在目前发展物联网技术过程中,作为识别终端物体的主要技术,成为物联网的重要组成部分。智能卡能够迅速地发展的一个重要的原因就在于它能够通过加密体系的安全体系给用户提供一个较高的安全性保证。而对智能卡进行身份验证,则能够获得智能卡的安全状态,获得一定的使用权限,从而进行一些与安全有关的操作。在非接触式智能卡系统中,读写设备与智能卡之间的数据交换由于其依赖于可被监听的射频信号进行通信,因而被认为存在遭受攻击的风险。为保证系统的通信安全性,对于读写设备与智能卡间的数据交换,需要通过相应的认证加密机制对其进行保护。从已有的认证加密机制分析来看,目前普遍存在如下几方面缺陷:认证或加密算法安全性能与硬件成本无法兼顾;没有采用协商机制处理认证密钥,容易遭受重放攻击;生成的通信密钥多为静态,难以抵御安全通信过程中的DoS攻击。因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了,包括:智能卡和读卡器交换密钥,使用数字签名算法相互进行身份认证,使用交换后生成的密钥对智能卡和读卡器之间传输的数据进行加密。优选地,在智能卡和读卡器的身份认证之前,还包括:对于每对在同一访问区域内的读卡器Rn和其下属的ID集合G ^中的每一个智能卡Tn,控制器生成正整数P和用于智能卡ID和阅读器之间身份认证的公、私钥,其中读卡器和智能卡各自的认证私钥4、dt为各自私有,读卡器的公钥K1?为该读卡器所管理的ID集合中所有智能卡所共有,智能卡的公钥Kt根据智能卡ID TID存于密钥服务器,其中:I)控制器选择一个足够长度的随机数d,,同时从密钥服务器中取出目标读卡器Rn所属的访问区域A的参数D,D = (E,P,Gx, Gy);其中E为以素数为模的整数域GF(P)上的ElGamal曲线,p为一个预定长度的大素数,Gx, Gy为曲线E上基础点G的x,y坐标,在D所描述的曲线Ed上计算K r= E D (火.G);2)控制器选择一个正整数Pn#为目标智能卡T ?用于交换密钥的参数,并选择一个随机数dt,同时从密钥服务器中取出目标智能卡1;所属的访问区域A的参数D,在D所描述的曲线Ed上计算K t = E D(dt.G);3)控制器将第I)?2)步生成的dt、&、Pn通过可靠信道分发给目标智能卡Tn,并将第I)?2)步生成的Kt、PnW目标智能卡IDTID n为查询键值存于密钥服务器;重复步骤2到3,分别选择读卡器Rn下属的ID集合G tn中不同的目标智能卡T ?进行密钥分发,直到ID集合Gtn中所有智能卡均处理完毕,再将d ^乍为读卡器认证私钥通过可靠信道分发给目标读卡器Rn。优选地,所述交换密钥包括以下步骤:使用各智能卡的参数Pn来代替作为公开初始密钥,并分别存储于智能卡和密钥服务器中,而真正的密钥则由智能卡和读卡器各自临时生成的在参数D所描述的曲线Ed上的随机点&来代替。优选地,所述对智能卡和读卡器之间传输的数据进行加密,进一步包括:I)完成交换密钥的读卡器Rn、智能卡Tn在首次加密通信开始前先各自初始化一个计数器C,读卡器计数器为C;,智能卡计数器为Ct,并分别从各自的基础密钥BK中相同偏移位置处取出预定长度的访问初始密钥SI。2)发送方将待发送的消息mn添加到本次访问设备标识随机数RNx,若发送方为读卡器,则RN# RN ,,若发送方为智能卡,则RNx为RN t,该值在RNx交换密钥过程中生成并相互交换,将生成的数据串M按DES块长度分块,不满128位长度的块使用O填充;将得到的所有块使用预定的初始向量和访问密钥SKn进行加密,并将长度信息和密文发送至接收方,同时将自身计数器执行递增操作,递增步长为预定值u ;3)接收方收到密文,使用预定的初始向量和SKn对密文进行解密,并根据长度提取出消息mdP本次访问设备标识随机数RN x;比对RN ,和在身份验证阶段交换而来的本次访问设备标识随机数,如果匹配,则自身计数器执行递增操作,递增步长为预定值U,单次加密通信回合完成;如果不匹配,则拒绝接收消息mn;4)在单次加密通信回合完成后,通信双方各自使用预定的密码变换算法K,计算SKn= K(SKn_i,Cx)得到新的访问密钥SKn,并重复步骤2)到步骤4),直到本次访问结束。本专利技术相比现有技术,具有以下优点:本专利技术的方法用较低的资源开销实现了智能卡与读卡器之间的认证和数据传输处理,能够抵抗常见的攻击,具备可扩展性。【附图说明】图1是根据本专利技术实施例的智能卡数据处理方法的流程图。【具体实施方式】下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了。图1是根据本专利技术实施例的智能卡数据处理方法流程图。本专利技术的智能卡数据处理方法首先交换密钥,并使用数字签名算法对通信双方身份进行认证,最终通过加密算法使用交换后生成的密钥对读写的数据进行加密,其整个过程由五个阶段构成,即:预处理阶段、密钥分发阶段、身份认证阶段、交换密钥阶段、消息加密及恢复阶段。1.预处理阶段该阶段目的是产生ElGamal参数D:D= (E,p,Gx,Gy)其中:E为以素数为模的整数域GF(p)上的ElGamal曲线,p为一个预定长度的大素数。根据最小密钥长度要求,P值长度不应小于160位。Gx,&为ElGamal曲线E上基础点G的X,y坐标。ElGamal参数D由单个访问的控制器生成。对于每一个访问区域A(该组包含复数个读卡器Rn,每个读卡器管理包含复数个智能卡的ID集合Gtn,并按照使用需求所归并),有A = (R1, R2,…,Rn, Gtl, Gt2,…,Gj使用同一组参数D,并根据A所属的读卡器和智能卡各自的标识符在密钥服务器进行注册。2.密钥分发阶段对于每对在同一访问区域内的读卡器Rn和其下属的ID集合G ^中的每一个智能卡Tn,控制器需要生成正整数P和用于智能卡ID和阅读器之间身份认证的公、私钥。其中读卡器和智能卡各自的认证私钥4、dt为各自私有,读卡器的公钥K1?为该读卡器所管理的ID集合中所有智能卡所共有。智能卡的公钥Kt根据智能卡IDTID存于密钥服务器。一个读卡器ICS其下属ID集合G ^的密钥具体生成分发步骤如下:I)控制器选择一个足够长度的随机数払同时从密钥服务器中取出目标读卡器Rn所属的访问区域A的ElGamal参数D,在D所描述的曲线Ed上计算K Ed (4.G)2)控制器选择一个正整数Pn作为目标智能卡T ?用于交换密钥的参数,并选择一个足够长度的随机数dt,同时从密钥服务器中取出目标智能卡1;所属的访问区域A的ElGamal参数D,在D所描述的曲线Ed上计算K t= E D(dt.G)3)控制器将第I)?2)步生成的dt本文档来自技高网...
一种智能卡数据处理方法

【技术保护点】
一种智能卡数据处理方法,其特征在于,包括:智能卡和读卡器交换密钥,使用数字签名算法相互进行身份认证,使用交换后生成的密钥对智能卡和读卡器之间传输的数据进行加密。

【技术特征摘要】

【专利技术属性】
技术研发人员:周鑫
申请(专利权)人:四川量迅科技有限公司
类型:发明
国别省市:四川;51

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

1