基于Hash的ID协议变化认证算法在RFID系统中的应用
扫描二维码
随时随地手机看文章
引言
物联网这一概念由美国在20世纪90年代提出,其认为 物联网通过将全球万事万物的实物联网,最终达到“以物控 物”的目的。物联网是以互联网为通信基础,利用电子产品码 EPC、RFID等技术建立的实物互联网。在物联网中将电子产 品码存入芯片做成电子标签粘附在被标识物体,通过识别设 备读取标签内的物体信息,从而惟一地识别一个物体,并将 获取的物体信息在互联网上传递,以此给人们工作生活带来便 利的服务。对于获取标签内信息,RFID是一种有效的技术, 这种技术在过去的一段时间发展迅速。RFID在不需要操作人 员的情况下,就可以同时识别多个物体。RFID在带来高效、 低成本服务的同时,在识别过程中也存在安全威胁和隐私泄 露等问题,因此,安全问题已成为制约RFID系统发展的主要 因素。如何构建高安全性的RFID系统是目前研究的一个热点, 也是未来物联网技术发展的关键因素。
1 RFID攻击模型
RFID系统一般由电子标签、阅读器和后台应用系统三个 实体部分以及后端网络通信信道和无线通信信道组成。在整 个系统中,任何组成部分都可能成为攻击者攻击的对象。攻击 模型可用图1表示[1]。
在图1中可以看出,攻击者可以采用对常规信息系统攻击 相同的被动攻击、主动攻击、物理攻击等攻击手段对RFID系 统中部分或全部进行攻击。对于攻击者来说,其攻击RFID系 统的目的也与对其他信息系统攻击的目的相同,主要为了非法 获取信息、非法访问、篡改信息和扰乱系统正常运行等。
1.1非法获耳丈信息
攻击者通过攻击手段非法获取RFID系统中非公开的机 密信息或内部信息,攻击者获取这些信息之后,可以自己利用这些信息,可以通过出售信息谋利,可以为了使对方陷于被动 而公开这些信息,也可以保存信息以便将来使用。
图1 RFID系统的攻击模型
1.2非法访问
攻击者通过窃取合法用户密码或通过其它非法手段获得 对RFID系统的访问权限,攻击者在进入系统后就可以访问 系统,偷取系统内信息或对系统的正常运行进行破坏。攻击 者也可能在非法进入系统后,将一些病毒、木马植入系统中, 为将来再次入侵留下后门。
1.3篡改信息
对于RFID系统,攻击者即可以篡改RFID空中接口数据, 也能够对标签信息进行篡改。对于电子标签,只读卡内信息 不容易被篡改,但对于空中接口数据就相对容易被篡改。攻 击者通过对系统中的数据进行篡改,就可以冒充合法用户,对 系统进行“合法”访问。攻击者也可能会伪造合法数据或对合 法数据进行篡改,依此欺骗通信双方,甚至导致系统运行进 入混乱状态。
1.4扰乱系统的正常运行
攻击者为了商业竞争需要,对对方系统进行扰乱后,使 对方系统陷入混乱状态,导致对方系统无法正常运行,使得 对方正常业务无法开展。在RFID系统中前端通信是通过无线 信息进行,因此,攻击者若采用无线电干扰,就会很容易导致 通信系统瘫痪而无法正常工作。
2 RFID安全关键问题
由于RFID系统的便携性、移动性等特点,限制了电子 标签中本身存储的内部资源和能量不能很多,同时还要能够对 电子标签进行快速灵活的读取,这些因素对增加RFID系统 安全性形成了一定的限制。因此,为了能够实现符合RFID系 统的安全协议和机制,在考虑其可行性的基础上,还应该重 点考虑下面几个方面的问题。
2.1算法复杂度
由于电子标签内部时钟频率较高,且具有快速读取等特 点,因此在加密算法设计的过程中,要求算法的计算周期尽 量短。但是,高强度的加密算法在使用较多计算周期的同时 还需要占用大量的系统存储资源,特别对RFID电子标签这种 存储资源缺乏的对象表现地更为突出。因此在算法设计时就 需要解决如何能在使用高强度加密算法的同时尽量减少资源 需求并且使计算周期变短的问题。
2.2认证流程
对于电子标签的识别设备来说,针对不同的应用系统采 用不同的读取方式,在一些超市系统等应用中,识别设备一次 只需读取一个电子标签,而在物流管理等应用中,一次需要读 取多个电子标签。对于前一种读取方式,认证流程占用的时间 长一些并不会影响到系统的正常使用,而在后一种读取方式中, 认证时间需要严格控制,否则会导致因单个电子标签认证流程 时间过长而影响到其它电子标签不能被完全读取。
2.3密钥管理
由于物联网需将所有物体联网,而每一个联网物体都需 要电子标签进行身份识别,因此在RFID系统中,电子标签的 数量非常庞大。如果对于每一个电子标签都设置一个惟一的 密钥,那么如何有效的管理这些庞大的密钥将是一件非常困 难的事。若对同一类物品设置统一的密钥,可以减少密钥的 数量,但是,一旦其中一个物体密钥被破解或泄露,那儿其 它同类物品将会受到安全威胁。
对于RFID系统安全问题,除了前面这三个方面外,还需要 考虑传感器、电子标签和识别设备等感知硬件的物理保护,同 时考虑是否针对不同的应用使用不同的安全等级等保护措施。
3基于Hash的ID协议变化认证算法
基于Hash的ID协议变化认证算法采用每次改变认证过 程中各设备间的交换信息,然后将改变信息与设备自身保存的 信息做比较,如果相同则通过认证,否则认证失败。这样就 可以防止信息在设备本身内或信道上被篡改,从而有效保护
RFID系统的可靠性和安全性。基于HASH的ID协议变化认 证算法如下[1]:
Attest_Hash(){
Init RFID_system;//初始化 RFID 系统
识别读写器R发送查询命令给电子标签L;
电子标签L使自身TID=TID+1,保存TID,计算 H(ID), / TID=TID-LST,计算 H(TID||ID); //TID 为上次发送序号,LST为最后一次发送序号,H()为 Hash函数
电子标签L返回H(ID), / TID, H(TID||ID)到识别读 写器R ;
识别读写器R转发H(ID), / TID, H(TID||ID)到后端 数据库 System_db ;
根据H(ID)在后端数据库System_db中查询标签L'; 标签 L'的 TID' =LST' + / TID,计算 H(TID||ID);
If (L.infb=L' .infb) { //对比电子标签中信息与后端
数据库中对应信息是否相符 标签更新自生LST=TID, ID=ID㊉N ;//N为随机数 后台数据库 System_db 更新 H' (R||TID||ID);
后台数据库System_db发送N和H' (R||TID||ID)给 识别读写器R;
识别读写器R转发N和H'R||TID||ID)给电子标签L; If (电子标签L中保存的信息与N和H'R||TID||ID)
相等){
通过认证;
电子标签L更新自身LST=TID,ID=ID㊉N ;
}
Else认证失败;
}
Else认证失败;
}
该算法的核心在于每次会话都会改变TID,使得每次的 Hash值也会改变,以此避免被跟踪。且后端数据库和电子 标签中的TID不一定相等,只有在LST认证成功后才会更新 TID的值,在传输的过程中也只是传输TID与LST的差值, 这样就可以有效保证LST的机密性。在认证通过后,还需要 再次刷新ID的值,用来避免攻击者通过H(ID)跟踪标签。
4总结
本文在分析了针对RFID系统的攻击模型和RFID系统 安全关键问题的基础上,提出了一种基于Hash的ID协议变 化认证算法。该认证算法虽然可以有效解决RFID系统中认证 过程的安全性,但是也存在一些缺陷,在认证过程中,可能 会因环境的变化,识别读写器不能成功将信息发送给电子标 签,此时,后端数据库信息已更新,而电子标签信息还保留原 信息,导致此标签将再不会被识别;攻击者也可以通过将非 法获得的电子标签信息重放给识别读写器,而更新后端数据 库,造成电子标签与后端数据库信息不一致;攻击者还可能会 非法获取H(ID),由于该数据在两次识别过程中并不会发生改变,从而造成攻击者可以很轻易地跟踪电子标签等。这一系列 的缺陷还需要在以后的研究中予以解决,这样才能真正提高 RFID系统的安全性,并将其应用到实际中。
20211222_61c2f1c10b38e__基于Hash的ID协议变化认证算法在RFID系统中的应用