物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

ECC结合轻量级Hash函数的RFID系统安全认证方案

作者:黎远松,王建玺,梁金明,刘小芳
来源:电子技术应用
日期:2016-09-06 13:54:16
摘要:针对植入式RFID系统的安全性和资源约束问题,提出一种基于椭圆曲线密码(ECC)和轻量级Hash函数的双向认证方案。在标签与阅读器之间进行通信时,首先利用椭圆曲线离散对数法对阅读器身份进行认证和验证;然后使用Quark轻量级哈希算法的椭圆曲线数字签名算法对标签身份进行认证和验证,减少了密钥和公钥的数据量,从而降低了计算量。实验结果表明,相比传统方案,本文提出的认证方案能有效抵抗与植入式RFID系统相关的攻击,安全等级更高。此外,该方案还降低了约48%的通信开销和24%的内存空间需求。
关键词:ECCHashRFID

  0 引言

  植入式射频识别(Radio Frequency Identification,RFID)系统[1]是一种基于物联网(Internet of Things,IoT)技术的医疗保健解决方案,RFID可以植入人体内,采集人体信息,在紧急情况下能挽救病人的生命[2]。由于标签与阅读器之间的通信信道存在风险,且RFID系统是一种资源有限系统,因此,植入式RFID系统需要一种鲁棒、优化和轻量级的安全框架来满足安全等级要求和能量约束[3-4]。

  文献[5]提出了一种基于椭圆曲线密码(Elliptic Curve Cryptography,ECC)的随机密钥机制,尽管该机制能有效抵抗与RFID系统相关的黑客攻击,但它仍然不能进行相互验证。文献[6]提出了一种融合ID验证传输协议和ECC的认证机制,该机制达到了RFID系统要求的安全级别,但需要较大的标签认证计算时间和内存需求。

  基于上述算法存在的问题,本文提出了一种应用于植入式FRID系统的基于ECC和轻量级Hash函数的双向认证方案。相比传统方案,本文方法具有较高的安全等级,且在通信开销和内存需求方面性能优越。

  1 提出的双向认证方案

  提出的认证方案由三个阶段组成:(1)阅读器身份认证和验证阶段;(2)标签身份认证阶段;(3)标签身份验证阶段。在本文算法中,假设阅读器与后端数据库服务器之间的信道是安全的,植入式RFID系统[7]的标签与阅读器之间的通信信道不安全。相关参数和数学符号如表1所示。

ECC结合轻量级Hash函数的RFID系统安全认证方案

  1.1 阅读器身份认证和验证

ECC结合轻量级Hash函数的RFID系统安全认证方案

  算法1 阅读器身份认证和验证的伪代码

  输入:(r1,R1):阅读器的私钥和公钥。i1:阅读器的计数器值

  输出:确定阅读器是否可信?

  代码

ECC结合轻量级Hash函数的RFID系统安全认证方案
ECC结合轻量级Hash函数的RFID系统安全认证方案

  1.2 标签身份认证

  Quark轻量级哈希算法依赖于非线性布尔函数和移位寄存器,其电路面积需求适合于植入式医疗设备[9,10]。利用D-Quark轻量级哈希算法开发基于ECC的标签身份识别算法。

  在标签身份认证阶段,根据s2和IDt计算初始机密点s1∈E(Fg)。为了生成第2个机密点,标签计算s2=f(X(s1)).P。从第2个机密点获取第1个机密点比较困难,因为标签需要运行椭圆离散对数算法。第2个密钥由第1个密钥产生,故本文算法具有前向安全性。

  为了提高算法运行效率,所选函数f必须对s2不会产生较大的汉明权重,保证在不影响安全性的前提下快速计算s2.P。生成第2个密钥后,标签将选择随机整数k∈Zg且计算曲线坐标点(x,y)=k.G。标签首先计算d=x mod n,然后将数字信号消息(d,c)发送给阅读器。若d=0,标签重新选择随机数k∈Zg且计算下一个曲线坐标点。标签计算IDt=Mb(X(s1))*Mb(X(s2)).P,式中Mb将会输出输入值的一些中间比特位。操作数*为非代数操作符∈Fg,作用于第一个机密点和第二个机密点。然后,标签计算c=k(hash(IDt))+X(s1).d)。如果c=0,标签将选择另一个整数k同时开始运行上述算法。最后,标签将计算值(c,d)和IDt并发送给阅读器。算法2描述了标签身份认证阶段。

  算法2 标签身份认证伪代码

  输入:rs∈Zn:随机整数(来自阅读器信息)和hello请求。s1:标签第一个机密点。

  输出:IDt:标签ID。(c,d):标签数字签名。

  代码

ECC结合轻量级Hash函数的RFID系统安全认证方案
ECC结合轻量级Hash函数的RFID系统安全认证方案

  1.3 标签身份验证

  在这个阶段,为了验证标签的可信性,阅读器选择随机整数rs∈Zn且计算其公钥pr=rs.P。对j∈[1,n-1],阅读器检查是否d,c∈Zn。若结果可信,阅读器计算h=Hash(IDt),其中,Hash为Quark轻量级哈希函数,在上一阶段,哈希函数用于生成标签的数字签名。一旦完成计算IDt的哈希函数,阅读器选择h值最左边的比特位作为z值。然后,阅读器计算w、u1、u2,如算法3所示。根据这些已经计算出的值,阅读器计算曲线坐标点(x,y)=u1.P+pr。最后,如果等式r=x mod n成立,则阅读器会将标签的数字签名作为标签可信性的标志。

  算法3 标签身份验证伪代码

  输入:IDt:标签ID。(c,d):标签数字签名。

  输出:验证标签是否可信?

  代码

ECC结合轻量级Hash函数的RFID系统安全认证方案

  2 性能评估

  2.1 安全性分析

  双向认证:在阅读器认证阶段,为了认证阅读器是否合法,标签计算等式

ECC结合轻量级Hash函数的RFID系统安全认证方案

  是否成立。相反,为了认证标签是否可信(基于标签传输的IDr和数字签名消息),阅读器检查等式r=x mod n是否成立。这就是本文算法中的双向认证过程。

  可用性:在本文算法中,一旦完成双向认证,标签和阅读器将改变它们的机密点s1,s2,s3,因此,攻击者不可能实现拒绝服务攻击。

  前向安全:在本文算法中,如果攻击者试图根据已经窃听的信息进行伪装,例如标签的第2个密钥s2,攻击者将不可能从窃听的信息获取任何有用信息。从第2个密钥获取第1个密钥需要解决ECDSA问题,然而该问题不易求解。

  非法跟踪标签:本文算法的公共信息仅关心标签的ID。在标签身份认证阶段,通过非代数操作标签的第1个密钥和第2个密钥的横坐标的中间比特位来生成ID值。因此,从现有的ID获取标签的密钥是不可能的。主要原因是获取密钥意味着需要计算椭圆曲线离散对数算法。因为求解离散对数问题与整数分解问题一样困难,因此该问题很难求解。

  窃听攻击:攻击者很难完成该计算过程,因为需要求解离散对数问题,离散对数问题在计算上是不可行的。与上面原理相似,在阅读器认证阶段,尽管攻击者能获取R1或R2或r3,但不能很容易获取与阅读器相关的其他安全信息。基于上面的讨论,攻击者也不能完成任何重放攻击。

  伪装攻击可考虑两种不同场景:

(1)伪装成阅读器:如果攻击者尝试伪装成阅读器,它将会失败。因为如果攻击者要尝试伪装成虚假阅读器,它必须计算R1且同时尝试计算r2(不容易计算)。然而,没有阅读器的计算值R3=r1.IDt+r3s1,攻击者(虚假阅读器)将不可能计算出

ECC结合轻量级Hash函数的RFID系统安全认证方案

  来使自己可信。

  (2)伪装成标签:为了伪装成标签,如前面所述,攻击者需要访问标签的密钥s1s2,然而不能从IDt的公共信息获取密钥。

  基于以上讨论证明,本文算法能安全抵抗植入式RFID系统的攻击。表2显示了本文算法与其他几种基于ECC算法的安全性比较结果。“YES”表示能安全抵抗上面提到的攻击。“NO”表示不能安全抵抗攻击。从安全性角度来看,尽管本文算法的安全特性与文献[6]相似,但后文将表明本文在计算和通信开销上的优越性。

ECC结合轻量级Hash函数的RFID系统安全认证方案

  2.2 计算开销分析

  可植入标签的资源有限性限制了植入式RFID系统的性能,因此,认证算法需要保证负载较小。根据计算成本、内存需求和通信开销标准来分析算法的计算性能。

  使用标准163比特椭圆曲线域参数加密算法,这些参数定义在有限比特位域F(2163)。利用ECDSA算法的坐标系(x,y),在F(2m)域的椭圆曲线参数通过多元组T=(m,f(x),a,b,G,n,h)定义,其中m=163且通过f(x)=x163+x7+x6+x3+111定义F(2163)。文献[11]根据椭圆曲线的163比特位的纯量乘法计算算法运行时间,即SHA-1哈希函数和高级加密标准算法(AES)。根据实验结果,在5 MHz频率时,163比特位椭圆曲线纯量相乘需要的计算时间为64 ms。在低频时,例如323 kHz,完成163比特位椭圆曲线纯量相乘的计算时间为243 ms,与64 ms相比,时间太长。因此,本文在5 MHz频率下计算本文算法的运行时间。

  标签的内存需求包括公钥和私钥内存需求,私钥表示标签的密钥s1,s2且公钥表示标签的公钥IDt。在本文算法中,系统内存需求由(IDt,s1,s2)组成,其中IDt需要163比特位内存,s1和s2总共需要326比特位内存。因此,总内存为:62 byte=163 bit+326 bit。表3显示了本文算法与其他算法的性能比较结果。

ECC结合轻量级Hash函数的RFID系统安全认证方案

  本文标签身份识别算法的计算成本包括三个标量点的计算且计算时间为:64 ms×3=192 ms。因此,本文标签身份识别算法需要192 ms完成标量点相乘。从表3可以看出,当ECC点乘数量增加时,它将直接影响完成该运算所需的时间。因此,在实时系统中,系统需要考虑成功实现认证所需时间的问题。

  为了计算标签认证阶段中,标签与阅读器之间的通信开销,本文计算基于标签与阅读器之间通信消息IDt,(d,c)的通信开销,这里,通信开销为41 B,计算式为:(163×2/8=326/8≈41 B)。

  将本文算法与其他算法的通信开销进行比较,结果表明,本文算法成功减少了48%的通信开销。在总体内存消耗方面,本文算法降低了24%的内存消耗。与文献[6]相比,本文算法减少了39%的内存消耗,计算时间减少了60%。然而,与文献[4]相比,计算时间增加了50%。

  3 结语

  针对植入式RFID系统存在的问题,本文提出了一种基于椭圆曲线密码(ECC)和轻量级Hash函数的安全双向认证方案。提出的方案依赖于椭圆曲线加密算法,比传统加密算法所需较少的密钥和公钥的数据量,且计算量也较小。实验表明,本文算法能够抵抗相关攻击,安全等级高。另外,与传统算法相比,本文认证机制通信开销降低了48%,内存需求降低了24%~39%。

  未来工作中,将进一步研究本文算法,使其能够广泛应用于IoT系统。

  参考文献

  [1] 谢小芳,黄俊,谭成宇.基于RFID的电力温度监控系统的软件分析与设计[J].电子技术应用,2013,39(1):23-26.

  [2] GUBBI J,BUYYA R,MARUSIC S,et al.Internet of Things(IoT):a vision,architectural elements,and future directions[J].Future Generation Computer Systems,2013,29(7):1645-1660.

  [3] 韦永壮,欧阳宁,马春波.一个基于稳固加密RFID协议的安全性分析[J].计算机研究与发展,2012,49(5):958-961.

  [4] BATINA L,GUAJARDO J,KERINS T,et al.Public-key cryptography for RFID-tags[C].Pervasive Computing and Communications Workshops, 2007. PerCom Workshops′07.Fifth Annual IEEE International Conference on.IEEE,2011:217-222.

  [5] ZHANG X,LI J,WU Y,et al.An ECDLP-based randomized key RFID authentication protocol[C].Network Computing and Information Security(NCIS),2011 International Conference on.IEEE,2012,2:146-149.

  [6] LIAO Y P,HSIAO C M.A secure ECC-based RFID authentication scheme integrated with ID-verifier transfer protocol[J].Ad Hoc Networks,2014,18(3):133-146.

  [7] 苑津莎,徐扬,戚银城,等.基于非对称密钥和Hash函数的RFID双向认证协议[J].密码学报,2014(5):456-464.

  [8] 张文芳,王小敏,郭伟,等.基于椭圆曲线密码体制的高效虚拟企业跨域认证方案[J].电子学报,2014,42(6):1095-1102.

  [9] AUMASSON J P,HENZEN L,MEIER W,et al.Quark:a lightweight hash[J].Journal of cryptology,2013,26(2):313-339.

  [10] 张兵,马新新,秦志光.轻量级RFID双向认证协议设计与分析[J].电子科技大学学报,2013,42(3):425-430.

  [11] GODOR G,IMRE S.Elliptic curve cryptography based authentication protocol for low-cost RFID tags[C].RFID-Technologies and Applications(RFID-TA),2011 IEEE International Conference on.IEEE,2011:386-393.