一种ECC结合轻量级Hash函数的RFID系统安全认证方法
【技术领域】
[0001] 本发明属于植入式RFID领域,尤其设及一种ECC结合轻量级化sh函数的RFID系 统安全认证方法。
【背景技术】
[0002] 植入式射频识别(radiofrequen巧identification,RFID)系统是一种基于物联 网(InternetOfThings,loT)技术的医疗保健解决方案,RFID可W植入人体内,采集人体 信息,在紧急情况下能挽救病人的生命。标签与阅读器之间的通信信道存在风险,且RFID 系统是一种资源有限系统,因此,植入式RFID系统需要一种鲁椿、优化和轻量级的安全框 架来满足安全等级要求和能量约束。
[0003] 现有技术,一种基于楠圆曲线密码的随机密钥机制,尽管该机制能有效抵抗与 RFID系统相关的黑客攻击,但它仍然不能进行相互验证。另一现有技术,一种融合ID验证 传输协议和ECC的认证机制,该机制达到了RFID系统要求的安全级别,然而,需要较大的标 签认证计算时间和内存需求。
【发明内容】
[0004] 本发明的目的在于提供一种ECC结合轻量级化sh函数的RFID系统安全认证方 法,旨在解决现有技术存在的安全等级低,通信开销和内存需求大的问题。
[0005] 本发明是该样实现的,一种ECC结合轻量级化sh函数的RFID系统安全认证方法 包括:
[0006] 步骤一、在标签与阅读器之间进行通信时,利用楠圆曲线离散对数法对阅读器身 份进行认证和验证;
[0007] 步骤二、使用如ark轻量级哈希算法的楠圆曲线数字签名算法对标签身份进行认 证和验证。
[0008] 进一步,阅读器身份认证和验证的方法为:
[0009] 步骤一、阅读器选择一个随机数riGZ。且计算Ri=r1;
[0010] 步骤二、阅读器初始化对应的ii值且将R1和i1发送给标签;
[0011] 步骤S、阅读器通过ri改变i1值,根据收到的消息,标签检查i2是否比i1值大,i2 初始化为0 ;
[0012] 如果结果为真,标签用ii代替i2且选择随机数rsGZ。,然后,标签计算等式r3 = XOv。*¥化),其中P为阅读器的公钥,*为OvP)横坐标与Ri纵坐标的非代数运算,如果 是二进制,则为位同与,如果是质数,则为按位异或运算,且标签将rs发送给阅读器;
[0013] 步骤四、阅读器接收到r3后,将计算R2=r1.IDt+rs.S3,且将R2发送给标签;
[0014] 步骤五、标签检查等式诉-,;.巧片'.P= /D,.是否成立,标签验证阅读器是否可信。
[0015] 进一步,标签身份认证的方法为:
[0016] 步骤一、根据S2和IDt计算初始机密点SiGE(Fg);
[0017] 步骤二、标签计算S2=f狂(s1)).P,生成第2个机密点,一旦生成第2个密钥,标 签将选择随机整数kGZg且计算曲线坐标点(X,y) =k.G;
[0018] 步骤S、标签首先计算d=Xmodn,然后将数字信号消息化c)发送给阅读器;
[0019] 步骤四、如果d= 0,标签重新选择随机数kGZg且计算下一个曲线坐标点;标签 计算IDt=Mb狂(S1)) *Mb狂(S2)).P,式中Mb将会输出输入值的一些中间比特位;操作数* 为非代数操作符GFg,作用于第一个机密点和第二个机密点;
[0020] 步骤五、标签计算C=k(hash(IDt)巧(Si).d),如果C= 0,标签将选择另一个整数 k同时开始运行上述算法,最后,标签将计算值(C,d)和IDt并发送给阅读器。
[0021] 进一步,标签身份验证的方法为:
[002引步骤一、阅读器选择随机整数Z。且计算它的公钥Pt=r,.P。对jG[l,n-l], 阅读器检查是否d,cGZ。;
[0023]步骤二、若结果可信,阅读器计算h=化sh(IDt),其中,化sh为如ark轻量级哈希 函数;
[0024] 步骤=、一旦完成计算IDt的哈希函数,阅读器选择h值最左边的比特位作为Z 值;
[0025] 步骤四、阅读器计算w,Ui,U2,计算曲线坐标点(x,y) =Ui.P+Pr;
[0026] 步骤五、如果等式r=Xmodn成立,则阅读器会将标签的数字签名作为标签可信 性的标志。
[0027] 本发明的ECC结合轻量级化sh函数的RFID系统安全认证方法,相比传统方案,具 有较高的安全等级,减少了 48%的通信开销,在总体内存消耗方面,本发明降低了 24%的 内存消耗,在通信开销和内存需求方面性能优越。
【附图说明】
[0028] 图1是本发明实施例提供的ECC结合轻量级化sh函数的RFID系统安全认证方法 流程图。
【具体实施方式】
[0029] 为能进一步了解本发明的
【发明内容】
、特点及功效,兹例举W下实施例,并配合附图 详细说明如下。
[0030] 如图1所示,本发明是该样实现的,一种ECC结合轻量级化sh函数的RFID系统安 全认证方法包括:
[0031] S101、在标签与阅读器之间进行通信时,利用楠圆曲线离散对数法对阅读器身份 进行认证和验证;
[0032] S102、使用如ark轻量级哈希算法的楠圆曲线数字签名算法对标签身份进行认证 和验证。
[0033] 进一步,阅读器身份认证和验证的方法为:
[0034] 步骤一、阅读器选择一个随机数riGZ。且计算Ri=r1;
[00巧]步骤二、阅读器初始化对应的ii值且将R1和i1发送给标签;
[0036] 步骤S、阅读器通过ri改变i1值,根据收到的消息,标签检查i2是否比i1值大,i2 初始化为0 ;
[0037] 如果结果为真,标签用ii代替i2且选择随机数rsGZ。,然后,标签计算等式r3 =XOv。*¥化),其中P为阅读器的公钥,*为OvP)横坐标与Ri纵坐标的非代数运算,如果 是二进制,则为位同与,如果是质数,则为按位异或运算,且标签将r3发送给阅读器;
[003引步骤四、阅读器接收到rs后,将计算R2=r1.IDt+rs.S3,且将R2发送给标签;
[0039] 步骤五、标签检查等式.P=化是否成立,标签验证阅读器是否可信。
[0040] 进一步,标签身份认证的方法为:
[0041] 步骤一、根据S2和IDt计算初始机密点SiGE(Fg);
[0042] 步骤二、标签计算S2=f狂(s1)).P,生成第2个机密点,一旦生成第2个密钥,标 签将选择随机整数kGZg且计算曲线坐标点(X,y) =k.G;
[0043] 步骤S、标签首先计算d=Xmodn,然后将数字信号消息化c)发送给阅读器;
[0044] 步骤四、如果d= 0,标签重新选择随机数kGZg且计算下一个曲线坐标点;标签 计算IDt=Mb狂(S1)) *Mb狂(S2)).P,式中Mb将会输出输入值的一些中间比特位;操作数* 为非代数操作符GFg,作用于第一个机密点和第二个机密点;
[004引步骤五、标签计算C=k(hash(IDt)巧(Si),d),如果C= 0,标签将选择另一个整数k同时开始运行上述算法,最后,标签将计算值(C,d)和IDt并发送给阅读器。
[0046] 进一步,标签身份验证的方法为:
[0047] 步骤一、阅读器选择随机整数Z。且计算它的公钥Pt=r,.P。对jG[l,n-l], 阅读器检查是否d,cGZ。;
[0048]步骤二、若结果可信,阅读器计算h=化sh(IDt),其中,化sh为如ark轻量级哈希 函数;
[0049] 步骤=、一旦完成计算IDt的哈希函数,阅读器选择h值最左边的比特位作为Z 值;
[0050] 步骤四、阅读器计算W,U2,计算曲线坐标点(X,y) =Ui.P+Pr;
[0051] 步骤五、如果等式r=Xmodn成立,则阅读器会将标签的数字签名作为标签可信 性的标志。
[00閲一、安全性分析
[0053] 双向认证;在阅读器认证阶段,为了认证阅读器是否合法,标签计算等式 1货;-,./0响^/> = /",.是否成立。相反,为了认证标签是否可信(基于标签传输的1〇,和数字签 名消息),阅读器检查等式r=Xmodn是否成立。该就是本发明中的双向认证过程。
[0054] 可用性:在本发明算法中,一旦完成双向认证,标签和阅读器将改变它们的机密点 Si,S2,S3,因此,攻击者不可能实现拒绝服务攻
击。
[0055] 前向安全:在本发明算法中,如果攻击者试图根据已经窃听的信息进行伪装,例如 标签的第2个密钥S2,攻击者将不可能从窃听的信息获取任何有用信息。从第2个密钥获 取第1个密钥需要解决ECDSA问题,然而该问题不易求解。
[0056] 非法跟踪标签:本发明算法的公共信息仅关屯、标签的ID。在标签身份认证阶段, 通过非代数操作标签的第1个密钥和第2个密钥的横坐标的中间比特位来生成ID值。因 此,从现有的ID获取标签的密钥是不可能的。主要原因是获取密钥意味着需要计算楠圆曲 线离散对数算法。因为求解离散对数问题与整数分解问题一样困难,因此该问题很难求解。
[0057]窃听攻击;一方面,在标签认证阶段,若攻击者尝试获取标签的密钥Si,S2,正如前 面所讨论的,标签ID的比特位来自于非代数操作不同密钥Si,S,横坐标的中间二进制位的 结果。因此,根据上述计算理论,从标签ID获取密钥不可行。另一方面,在数字签名生成阶 段,攻击者可能获取d值,但很难获取C值。因为C值也来自于非代数操作密钥Si横坐标 的中间比特位和d。获取的值将添加到IDt的哈希值中且与一个随机数k相乘。攻击者很 难完成该计算过程,因为需要求解离散对数问题,离散对数问题在计算上是不可行的。与上 面原理相似,在阅读器认证阶段,尽管攻击者能获取Ri或R2或r3,但不能很容易获取与阅读 器相关的其它安全信息。基于上面的讨论,攻击者也不能完成任何重放攻击。
[0058] 伪装攻击;考虑两种不同场景:
[0059] (1)伪装成阅读器:如果攻击者尝试伪装成阅读器,它将会失败。因为如果攻击者 要尝试伪装成虚假阅读器,它必须计算Ri且同时尝试计算r2 (不容易计算)。然而,没有阅 读器的计算值Rs=r1.IDt+rs.Si,攻击者(虚假阅读器)将不可能计算出(馬巧咕'.口 =化,., 来使自己可信。
[0060] (2)伪装成标签;为了伪装成标签,如前面所述,攻击者需要访问标签的密钥 Si,S2,然而不能从IDt的公共信息获取密钥。
[0061] 本发明算法能安全抵抗植入式RFID系统的攻击。
[006引二、计算开销分析
[0063] 可植入标签的资源有限性限制了植入式RFID系统的性能,因此,认证算法需要保 证负载较小。根据计算成本、内存需求和通信开销标准来分析算法的计算性能。
[0064] 使用标准163比特楠圆曲线域参数加密算法,该些参数定义在有限比特位域 FW63)。利用ECDSA算法的坐标系(x,y),在F(2-)域的楠圆曲线参数通过多元组T= (m,f(X),a,b,G,n,h)定义,其中m= 163 且通过f(X) =xi63+x7+x6+x3+lii定义F(2 163)。现 有根据楠圆曲线的163比特位的纯量乘法计算算法运行时间,即SHA-1哈希函数和高级加 密标准算法(AES),实验结果表明,在5MHz频率时,163比特位楠圆曲线纯量相乘需要的计 算时间为64ms。在低频时,例如323KHZ,完成163比特位楠圆曲线纯量相乘的计算时间为 243ms,与64ms相比,时间太长。因此,本发明在5MHz频率下计算本发明算法的运行时间。
[0065] 标签的内存需求包括公钥和私钥内存需求,私钥表示标签的密钥Si,S2且公钥表 示标签的公钥IDt。在本发明算法中,系统内存需求由(IDt,si,S2)组成,其中IDt需要163比 特位内存,Si和S2总共需要326比特位内存。因此,总内存为;6化八63 = 163bits+32化its。
[0066] 本发明标签身份识别算法的计算成本包括=个标量点的计算且计算时间为: 64ms*3 = 162ms。因此,本发明标签身份识别算法需要192ms完成标量点相乘。当ECC点 乘数量增加时,它将直接影响完成该运算所需的时间。因此,在实时系统中,系统需要考虑 成功实现认证所需时间的问题。
[0067] 为了计算标签认证阶段中,标签与阅读器之间的通信开销,本发明计算基于标 签与阅读器之间通信消息IDt,(d,c)的通信开销,该里,通信开销为4化ytes,计算式为: (163*2/8 = 326/8 > 4化八63)。
[0068] 通信开销比较结果表明,本发明算法成功减少了 48%的通信开销。在总体内存消 耗方面,本发明算法降低了 24%的内存消耗。
[0069] W上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制, 凡是依据本发明的技术实质对w上实施例所做的任何简单修改,等同变化与修饰,均属于 本发明技术方案的范围内。
【主权项】
1. 一种ECC结合轻量级Hash函数的RFID系统安全认证方法,其特征在于,所述的ECC 结合轻量级Hash函数的RFID系统安全认证方法包括: 步骤一、在标签与阅读器之间进行通信时,利用椭圆曲线离散对数法对阅读器身份进 行认证和验证; 步骤二、使用Quark轻量级哈希算法的椭圆曲线数字签名算法对标签身份进行认证和 验证。2. 如权利要求1所述的ECC结合轻量级Hash函数的RFID系统安全认证方法,其特征 在于,阅读器身份认证和验证的方法为: 步骤一、阅读器选择一个随机数:T1G Zn且计算R1= r 1; 步骤二、阅读器初始化对应的I1值且将R JP i i发送给标签; 步骤三、阅读器通过A改变i ^直,根据收到的消息,标签检查i 2是否比i i值大,i 2初 始化为〇 ; 如果结果为真,标签用I1代替i 2且选择随机数r 2 e Z n,然后,标签计算等式r3= X (r 2. PhY(R1),其中P为阅读器的公钥,*为(r2. P)横坐标与R1纵坐标的非代数运算,如果是二 进制,则为位同与,如果是质数,则为按位异或运算,且标签将1"3发送给阅读器; 步骤四、阅读器接收到:1"3后,将计算R2= r p IDt+r3. S3,且将X2发送给标签; 步骤五、标签检查等式内-VAX·? = ?,是否成立,标签验证阅读器是否可信。3. 如权利要求1所述的ECC结合轻量级Hash函数的RFID系统安全认证方法,其特征 在于,标签身份认证的方法为: 步骤一、根据82和ID t计算初始机密点s i e E (F g); 步骤二、标签计算S2= f(X(s D). P,生成第2个机密点,一旦生成第2个密钥,标签将 选择随机整数k e Zg且计算曲线坐标点(X,y) = k. G ; 步骤三、标签首先计算d = X mod n,然后将数字信号消息(d, c)发送给阅读器; 步骤四、如果d = 0,标签重新选择随机数k e Zg且计算下一个曲线坐标点;标签计算 IDt= Mb (X (s J) *Mb (X (S2)). P,式中Mb将会输出输入值的一些中间比特位;操作数*为非 代数操作符e Fg,作用于第一个机密点和第二个机密点; 步骤五、标签计算c = k (hash (IDt)+X (S1). d),如果c = 0,标签将选择另一个整数k同 时开始运行上述算法,最后,标签将计算值(c,d)和IDt并发送给阅读器。4. 如权利要求1所述的ECC结合轻量级Hash函数的RFID系统安全认证方法,其特征 在于,标签身份验证的方法为: 步骤一、阅读器选择随机整数rse Z n且计算它的公钥p r s. P。对j e [1,n-1],阅 读器检查是否d,c e Zn; 步骤二、若结果可信,阅读器计算h = Hash(IDt),其中,Hash为Quark轻量级哈希函 数; 步骤三、一旦完成计算IDt的哈希函数,阅读器选择h值最左边的比特位作为z值; 步骤四、阅读器计算¥,111,112,计算曲线坐标点(1,7)=111.?+口 1·; 步骤五、如果等式r = x mod η成立,则阅读器会将标签的数字签名作为标签可信性的
【专利摘要】本发明公开了一种ECC结合轻量级Hash函数的RFID系统安全认证方法,在标签与阅读器之间进行通信时,首先,利用椭圆曲线离散对数法对阅读器身份进行认证和验证;然后,使用Quark轻量级哈希算法的椭圆曲线数字签名算法对标签身份进行认证和验证。本发明的ECC结合轻量级Hash函数的RFID系统安全认证方法,相比传统方案,具有较高的安全等级,减少了48%的通信开销,在总体内存消耗方面,本发明降低了24%的内存消耗,在通信开销和内存需求方面性能优越。
【IPC分类】H04L9/32, G06K7/00
【公开号】CN104901812
【申请号】CN201510345456
【发明人】黎远松, 彭龑, 刘小芳, 梁金明
【申请人】四川理工学院
【公开日】2015年9月9日
【申请日】2015年6月19日