EDN China > 技术文章 > 模拟设计 > 传感器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) Key值更新随机Hash锁对RFID安全隐私的加强

来源:半导体应用/曾露华?? 熊璋?? 张挺?? 2007年11月20日 ?? 收藏0

  在该方法中,标签每次回答是随机的,因此可以防止依据特定输出而进行的位置跟踪攻击。但是,该方法也有一定的缺陷:(1)阅读器需要搜索所有标签ID,并为每一个标签计算Hash(IDkIIR),因此标签数目很多时,系统延时会很长,效率并不高;(2)随机Hash锁不具备前向安全性,若敌人获得了标签ID值,则可根据R值计算出Hash(IDIIR)值,因此可追踪到标签历史位置信息。

  2.2.3 Hash链(Hash Chain)[4]

  NTT实验室提出了一个Hash链方法,其保证了前向安全性,工作机制如下:锁定标签:对于标签ID,阅读器随机选取一个数Sl发送给标签,并将(ID,S )存储到后台数据库中,标签存储接收

 Hash链

  到Sl后,进入锁定状态。

  解锁标签:在第i次事务交换中,阅读器向标签发出询问消息,标签回答ai=G(S。),并更新Si+l=H(s。),其中G和H为单向Hash函数,如图4所示。

  阅读器接收到ai后,搜索数据库中所有的(ID,S1)数据对,并为每个标签计算

ai =G(H (s1)),比较ai*是否等于ai,若相等,则返回相应ID。

  方法优点:具有不可分辨性,因为G是单向Hash函数,外人获得a。值不能推算出S。值,当外人观察标签输出时,G输出的是随机数,所以不能将a。和a。+l联系起来;具有前向安全性,因为H是单向Hash函数,即使窃取了Si+1值,也无法推算出S 值,所以无法获得标签历史活动信息。

  方法缺点:需要为每一个标签计算ai*:G(H (s1)),假设数据库中存储的标签个数为N,则需进行N个记录搜索,2N个Hash函数计算,N次比较,计算和比较量较大,不适合标签数目较多的情况。

  3 Key值更新随机Hash锁

  鉴于上述几种安全隐私保护方法存在的缺陷,并结合几种方法的思想,本文提出了一种“Key值更新随机Hash锁”方法,实现了安全高效的读取访问控制。

  3.1工作原理

  数据库记录主要包括4列:H(Key),ID,Key,Pointer,主键为H(Key)。其中ID为标签唯一标志号,Key是阅读器为每个标签选取的随机关键字,H(Key)是Key的单向Hash函数H计算值,Pointer是数据记录关联指针,主要用来保证数据的一致性[5]。

  下面详细阐述该方法的基本工作原理:

  (1)锁定标签

  对于标签ID,首先阅读器随机选取一个数作为该标签的Key,将Key值发送给该标签,并建立标签在数据库中的初始记录(H(Key),ID,Key,0)),标签将接收到的Key值存储下来后,进入锁定状态。

  (2)解锁标签

  1)数据库首先产生一个随机数R,传送给阅读器,然后阅读器将询问消息Query和R都发送给标签;

  2)标签根据接收到的R和自身Key值,计算H(Key)和H(KeylIR)的值,然后将(H(Key),H(KeylIR))数据对发送给阅读器,接着自行计算H(IDIIR)和Key =S(key),但此时Key值并不更新。

  3)阅读器查找数据库中的记录, 若找到记录i:

  (H(Keyi),IDk,Key。,Pointeri),其中H(Key。):H(Key),则数据库计算H(KeyjIIR),并比较H(Key ItR)与接收到的H(KeyIIR)值是否相等。若不相等,则忽略此消息,表明标签是非法标签,在此阅读器完成对标签的合法性验证;若相等则继续下一步;

  4)数据库计算H(IDkIIR)的值,并将IDk和H(IDkIIR)的值都传送给阅读器。然后阅读器将H(IDkIIR)发送给标签;

  5)数据库计算Key*i=S(key。)和H(Key* )的值。若Pointeri:O, 则在数据库中添加新的记录J:(H(Key*i),IDbKey i,i),并将记录i修改成(H(Key。),IDbKeyij); 若Pointer !=O, 则找到第Pointer。条记录, 将其修改成(H(Key i),IDk,Key i,i);

  6)在标签接收到H(IDkIIR)后,比较其与标签在第2步中计算的H(IDIIR)是否相等,若相等,则将自身的Key值更新为Key ,标签进入解锁状态,对阅读器开放其所有功能;若不相等,表明阅读器是非法阅读器,标签保持沉默,在此标签完成对阅读器的验证。如图5所示。

对阅读器的验证

  3.2数值实验

  设数据库初始时存储了两个标签,ID分别为1、2,随机选择的Key分别为5、12,数据库初始化如表1所示。

数据库初始化


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

Key? Hash? RFID? 安全?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈