RFID系统的安全标签认证解决方案
发布时间:2008/12/17 0:00:00 访问次数:1053
1. 三次互认证协议
三次互认证协议是reid系统认证的一般模式。在该互认证过程中,属于同一应用的所有标签和读写器共享同一加密秘钥。标签和读写器之间的互认证过程如图1所示。由于同一应用的所有标签都使用唯一的加密密钥,所以三次互认证协议具有安全隐患。
图1 三次互认证协议
2. yoking-proof协议
由于标签是一种便宜的小器件,它们之间不能通信。因此,juels提出了一种名为“yoking-proof”的安全协议,该协议可以通过将读写器作为通信媒介使两个标签相互通信。
在该协议中,由于标签通过使用随机数来计算mac,所以攻击者可以通过保留先前的随机数来进行重放攻击。
3. 使用时间戳的yoking-proof协议
一种使用时间戳的yoking-proof协议可以用来定位重放攻击。在协议中,标签通过把密钥应用到来自数据库的时间戳上来计算mac。因此,可以通过mac来验证时间戳。由于标签通过使用时间戳来计算mac,所以该协议可以通过mac重用来阻止重放攻击。但是,该协议依赖于功耗,增加了系统的计算负载和标签成本。使用时间戳的yoking-proof协议如图2所示。
图2 yoking-proof协议
4. 分布式询问一应答协议
rhee等人提出了一种适用于分布式数据库环境的rπd认证协议,答型双向认证协议,其协议流程如图3所示。
图3 分布式询问一应答认证协议
该分布式rfid询问一应答协议的执行过程如下:
(1)读写器生成一秘密随机数rreader,向标签发送query认证请求,将,rreader,发送给标签;
(2)标签生成一随机数rtag,计算h(id||reader||rtag),其中id为标签的标识,标签将(h(id||rreader||rtag)发送给读写器;
(3)读写器将(h(id||rreader||rtag),rreader,rtag)发送给后台数据库;
(4)后台数据库检查是否有某个idj(1≤j≤n),使得h(id||reader||rtag)=h(id||rreader||rtag)成立;如果有,则认证通过,并将h(idj||rtag)发送给读写器;
(5)读写器将h(idj||rtag)转发给标签;
(6)标签验证h(idj||rtag)=h(id||rtag)是否成立,如果成立,则认证通过。
到目前为止,还没有发现该协议有明显的安全漏洞或缺陷。但是,在本方案中,执行一次认证协议需要标签进行两次hash运算。标签电路中自然也需要集成随机数发生器和hash函数模块,因此它也不适合于低成本rfid系统。
5. lcap协议
lcap协议也是询问一应答协议,但是与前面的其他同类协议不同,它每次执行之后都要动态刷新标签的id,其协议流程如图4所示。
图4 lcap协议
lcap协议的执行过程如下:
(1)读写器生成一秘密随机数r,向标签发送query认证请求,将r发送给标签;
(2)标签计算haid=h(id)和hl(id||r),其中id为标签的标识,hl表示hash函数h输出的左半部分,标签将(haid,hl(id||r))发送给读写器;
(3)读写器将(haid,r,hl(id||r))发送给后台数据库:
(4)后台数据库检查prey数据条目中haid的值是否与所接收到的haid一致。如果一致,则使用r和prey数据条目中的id信息来计算hr(id||r),其中hr表示hash函数h输出的右半部分;然后,后台数据库更新curr数据条目中的信息如下:haid=h(id⊙r),id=id⊙r。prey数据条目中的td数据域设为haid=h(id⊙r)。最后,将hr(id||r)发送给读写器;
(5)读写器将hr(id||r)转发给标签;
(6)标签验证hr(id||r)的有效性,如果有效,则更新其id为id=id⊙r。
由上面的叙述可知,标签是在接收到消息5且验证通过之后才更新其id的,而在此之前,后台数据库己经成功完成相关d的更新。因此,与基于hash的id变化协议的情况类似,lcap协议也不适合于使用分布式数据库的普适计算环境,同时也存在数据库同步的潜在安全隐患。
6. david数字图书馆rfid协议
david等提出了数字图书馆rfid协议,其使用基于预共享密钥的伪随机函数来实现认证,协议流程如图5所示。
图5 david数字图书馆rfid协议
欢迎转载,信息来
1. 三次互认证协议
三次互认证协议是reid系统认证的一般模式。在该互认证过程中,属于同一应用的所有标签和读写器共享同一加密秘钥。标签和读写器之间的互认证过程如图1所示。由于同一应用的所有标签都使用唯一的加密密钥,所以三次互认证协议具有安全隐患。
图1 三次互认证协议
2. yoking-proof协议
由于标签是一种便宜的小器件,它们之间不能通信。因此,juels提出了一种名为“yoking-proof”的安全协议,该协议可以通过将读写器作为通信媒介使两个标签相互通信。
在该协议中,由于标签通过使用随机数来计算mac,所以攻击者可以通过保留先前的随机数来进行重放攻击。
3. 使用时间戳的yoking-proof协议
一种使用时间戳的yoking-proof协议可以用来定位重放攻击。在协议中,标签通过把密钥应用到来自数据库的时间戳上来计算mac。因此,可以通过mac来验证时间戳。由于标签通过使用时间戳来计算mac,所以该协议可以通过mac重用来阻止重放攻击。但是,该协议依赖于功耗,增加了系统的计算负载和标签成本。使用时间戳的yoking-proof协议如图2所示。
图2 yoking-proof协议
4. 分布式询问一应答协议
rhee等人提出了一种适用于分布式数据库环境的rπd认证协议,答型双向认证协议,其协议流程如图3所示。
图3 分布式询问一应答认证协议
该分布式rfid询问一应答协议的执行过程如下:
(1)读写器生成一秘密随机数rreader,向标签发送query认证请求,将,rreader,发送给标签;
(2)标签生成一随机数rtag,计算h(id||reader||rtag),其中id为标签的标识,标签将(h(id||rreader||rtag)发送给读写器;
(3)读写器将(h(id||rreader||rtag),rreader,rtag)发送给后台数据库;
(4)后台数据库检查是否有某个idj(1≤j≤n),使得h(id||reader||rtag)=h(id||rreader||rtag)成立;如果有,则认证通过,并将h(idj||rtag)发送给读写器;
(5)读写器将h(idj||rtag)转发给标签;
(6)标签验证h(idj||rtag)=h(id||rtag)是否成立,如果成立,则认证通过。
到目前为止,还没有发现该协议有明显的安全漏洞或缺陷。但是,在本方案中,执行一次认证协议需要标签进行两次hash运算。标签电路中自然也需要集成随机数发生器和hash函数模块,因此它也不适合于低成本rfid系统。
5. lcap协议
lcap协议也是询问一应答协议,但是与前面的其他同类协议不同,它每次执行之后都要动态刷新标签的id,其协议流程如图4所示。
图4 lcap协议
lcap协议的执行过程如下:
(1)读写器生成一秘密随机数r,向标签发送query认证请求,将r发送给标签;
(2)标签计算haid=h(id)和hl(id||r),其中id为标签的标识,hl表示hash函数h输出的左半部分,标签将(haid,hl(id||r))发送给读写器;
(3)读写器将(haid,r,hl(id||r))发送给后台数据库:
(4)后台数据库检查prey数据条目中haid的值是否与所接收到的haid一致。如果一致,则使用r和prey数据条目中的id信息来计算hr(id||r),其中hr表示hash函数h输出的右半部分;然后,后台数据库更新curr数据条目中的信息如下:haid=h(id⊙r),id=id⊙r。prey数据条目中的td数据域设为haid=h(id⊙r)。最后,将hr(id||r)发送给读写器;
(5)读写器将hr(id||r)转发给标签;
(6)标签验证hr(id||r)的有效性,如果有效,则更新其id为id=id⊙r。
由上面的叙述可知,标签是在接收到消息5且验证通过之后才更新其id的,而在此之前,后台数据库己经成功完成相关d的更新。因此,与基于hash的id变化协议的情况类似,lcap协议也不适合于使用分布式数据库的普适计算环境,同时也存在数据库同步的潜在安全隐患。
6. david数字图书馆rfid协议
david等提出了数字图书馆rfid协议,其使用基于预共享密钥的伪随机函数来实现认证,协议流程如图5所示。
图5 david数字图书馆rfid协议
欢迎转载,信息来