概述
RFID系统面临很大的安全问题,在逻辑方法上,可以通过hash锁,随机hash锁,hash链来解决。
一.hash锁:
1.抵制标签未授权访问的安全隐私技术,采用hash散列函数给标签加锁,成本较低。
2.散列冲突:由于散列算法将任意长的输入变换成固定长的输出,且散列值的空间远小于输入的空间,导致多个输入值对应同一个输出值。
3.工作机制:
-
锁定标签:
(1)读写器随机产生一个标签的K,计算metaID=Hash(K),并将metaID发送给标签。
(2)标签将metaID存储下来,进入锁定状态。
(3)读写器将(metaID,K,ID)存储到数据库,并以metaID位索引。
-
解锁标签:
(1)读写器询问标签(query),标签回答metaID(开始发送的是metaID)
(2)读写器查询数据库,找到对应的(metaID,K,ID),再将K值发送给标签。
(3)标签收到K,计算Hash(K),并于自身存储的metaID比较,若Hash(K)=metaID,标签解锁并将其ID发送给阅读器。(最后发送的是ID)
缺点:
1.每次询问时标签回答的数据特定,所以不能防止位置跟踪攻击。
2.传输数据未经加密,窃听者可以轻易获取标签的K和ID值。
注意点:
1.读写器,标签都要hash运算
2.读写器不保存标签ID(数据库保存)
3.标签开始只发送mataID
二.随机hash锁:
解决标签位置隐私问题,读写器每次访问标签的输出信息不同。(改良版hash锁)
标签端:Hash函数和随机数发生器。
数据库:存储所有标签的ID。
- 锁定标签:
(1)向未锁定标签发送锁定指令,即可锁定该标签。 - 解锁标签:
(1)读写器向标签ID发出query,标签产生一个随机数R,计算hash(ID||R) ( || 表示将ID和R进行连接)。将(R,hash(ID||R))数据传送给读写器。
(2)读写器收到数据,从数据库取得所有标签的ID值。
(3)读写器分别计算各个hash(IDk||R)的值,并和收到的hash(ID||R)比较,若相等,则向标签发送IDk。
(4)标签收到IDk=ID,解锁。
缺点:
1.标签成本低,计算能力有限,难以集成随机数发生器。
2.随机hash仅解决标签位置隐私问题,没有保护标签的秘密信息。
3.数据库解码通过穷举搜索,效率低。(没索引)
三.hash链:
解决可追踪性,标签使用hash函数每次读写器访问后自动更新标识符,实现前向安全性。(Forward Secrecy:长期使用的主密码泄露不会导致过去的会话密钥泄露。即过去保护过去进行的通讯不受密码或密钥在未来暴露的威胁)
原理:
1.标签在存储器中设置一个随机的初始化标识符S1,也存到后台数据库中。标签包含两个hash函数G和H。
2.读写器query时,标签返回当前标识符ak=G(Sk)给读写器。
3.标签从电磁场获得能量时自动更新标识符Sk+1=H(Sk)
工作机制:
-
锁定标签:
对于标签ID,读写器随机选取一个S1发送给标签,并将(ID,S1)存储到数据库,标签收到S1进入锁定状态。 -
解锁标签:
(1)在第i次事物交换中,读写器query标签,标签输出ai=Gi,并更新Si+1=H(Si),
其中G和H为单向hash函数。(涉及密码学的区块与hash散列,密码具有不可逆性质)
(2)读写器收到ai后,搜索数据库所有(ID,Si-1)数据对,并为每个标签递归计算ai=G(H(Si-1)),比较是否等于ai,若相等,则返回相应的ID。
缺点:
1.每次识别要穷举搜索,并比较数据库中的每个标签,随着标签规模扩大,后端服务器计算负担增大。(只适合标签量少的情况)
2.由于穷举搜索,存在拒绝服务攻击的风险。(拒绝服务攻击:让目标机器停止提供服务)
最后
以上就是淡然花卷为你收集整理的RFID-系统安全问题逻辑解决方法:hash锁 随机hash锁 hash链的全部内容,希望文章能够帮你解决RFID-系统安全问题逻辑解决方法:hash锁 随机hash锁 hash链所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复