吴丽萍
(杭州电子科技大学计算机应用技术研究所,浙江杭州310008)
无线射频识别技术系统主要面临着非法跟踪、易被敌方窃取个人信息和物品信息、信息篡改和伪造标签等威胁[1]。目前国内外很多学者提出的加密认证协议可归纳为:重量级加密认证协议、中量级加密认证协议和轻量级加密认证协议。重量级加密认证协议使用完善和相对比较成熟的加密算法[2-7];轻量级加密认证协议采用简单的位逻辑运算代替复杂杂凑运算和加密算法;中量级加密认证协议的复杂性和安全性介于前面两者之间。而无线射频识别技术加密技术研究的原则在于在阅读器和标签有限的内存空间和有限的运算能力下,开发出既高效实用又具有一定强度的安全机制。因此权衡安全性能和实际物理平台,本文提出一种中量级通信加密协议,主要结合随机数、3次握手和标签论证思想。
目前针对无线射频识别技术安全和隐私问题主要有物理方法和读取访问控制等方案。物理方法包括kill命令机制、静电屏蔽和阻塞标签,适用在简单应用场合,它的简单安全机制限制了它的应用范围,从资源和效率的角度分析,都是不经济的,而且敌方可以对标签跟踪;读取访问控制包括HASH-LOCK协议、随机化HASH-LOCK和HASH CHAIN协议等。HASH-LOCK协议和随机化HASH-LOCK协议没有ID动态刷新,并且ID以明文的形式通过不安全信道传输,易受到假冒攻击和重传攻击,HASH CHAIN协议具有不可分辨和前向安全性,标签的识别效率为N(其中N为电子标签个数),不适合应用在有大量标签的通信场合。
无线射频识别系统主要有电子标签、阅读器和后台数据库。本文提出了基于安全哈希算法的中量级加密协议,其核心思想结合读取访问控制和3次互认证协议。即在阅读器和电子标签3次握手过程中,对密钥和随机数应用安全哈希算法进行加密。每个标签对应有16个元素的密钥数组,每个数组元素包含一个长度为20字节小密钥和一个长度为16个字节随机数,并在3次握手过程中更新[8]随机数和密钥。密钥的存储模式采用稀疏树模型。软件设计如图1所示。
图1 软件设计图
以下详细论述阅读器与电子标签3次握手过程:
(1)阅读器发送初始化包。Parameters参数里面包含16个小密钥的数组,则包总长度329个字节。标签最初状态设置为被动接收,当接收到阅读器发送的初始化数据包时,储存密钥信息,同时发送一个回复初始化包。阅读器发送初始化包和标签回复初始化包数据结构如表1所示。
阅读器接收回复初始化包,当函数ReceiveInit()返回值为1时,则第一次握手成功;
(2)阅读器发送识别命令包。Parameters参数里面包含长度为16个字节随机数r1,则包总长度25个字节。标签接收阅读器发送过来识别命令包,然后对密钥r1和随机数加密得到密文,最后发送一个含有新随机数r2和密文信息的回复识别命令包,并更新本地随机数。阅读器识别命令包和标签回复识别命令包数据结构如表2所示。
表2 阅读器识别命令包和标签回复识别命令包数据结构
阅读器接收标签的回复识别命令包,储存新随机数并更新本地随机数。当函数ReceiveConfirm()返回值为1时,则第二次握手成功;
(3)阅读器发送更新命令包。首先把阅读器对密钥和新随机数r2加密得到密文为新密钥。包字段增加更新位图标志位Packet[7]和Packet[8]。则包总长度331个字节。标签接收阅读器发送过来的更新命令包。然后对新密钥和新随机数一起进行加密,最后发送一个回复更新命令包。其中,阅读器更新命令包和标签回复更新命令包数据结构如表3所示。
表3 阅读器更新命令包和标签回复更新命令包数据结构
阅读器接收回复更新命令包,当ReceiveUpdate()返回值为1,则第三次握手成功。
无线射频识别系统的阅读器与标签的存储空间非常有限,如何高效地利用这个有限的空间是非常重要的。密钥存储模型主要有线性存储和树型存储。而本文的密钥存储模式是稀疏树型存储模型,如图2所示。
图2 稀疏树模型图
3种存储模型的空间消耗对比如表4所示。从表4看出稀疏树存储模型性能最优。
表4 3种不同的存储方式的空间消耗
通过计算推导得到新加密协议对标签的识别效率为logN并且密钥之间相互独立,大大提高通信的安全强度和搜索效率。
由于实际硬件平台资源限制,设计实验时忽略通信间的干扰,用通信次数来模拟点对多点的情况。实验环境为一个阅读器和一个电子标签,用N通信次数代表有N个电子标签与阅读器通信。加密电子标签握手成功次数和未加密电子标签握手成功次数如表5所示。
表5 加密电子标签和未加密电子标签握手成功次数
从表5可以得出,加密电子标签的握手成功概率为(80+87+84.6+84.6)/4=84.05%和未加密电子标签的握手成功概率为0。这说明认证系统具有一定的可行性和可靠性。
从新协议看出,密钥以明文的形式发送,一旦敌方获取密钥和密文,可以根据两者的关系逆推出具体加密算法。但是在加密算法中增加更新密钥和随机数的功能,敌方难以从新的密钥中推出旧的密钥,难以进行复制标签进行假冒攻击、重传攻击或者跟踪,具有前向安全性。并且在本加密协议中,使用消息验证码来保证数据完整性,因为数据上任何细微改动都会对消息验证码值产生很大的影响。
新协议具有前向安全性和信息完整性,可以有效防止跟踪、重放攻击和篡改标签内容等威胁,并且搜索效率比较高,具有一定的实用价值。同时也存在一定改进空间:在本加密协议中,一旦电子标签内容被篡改,阅读器会一直要求重传机制,会导致整个通信系统崩溃。通过进一步研究,可使用最大重传次数机制防止通信负荷或者根据实际需求扔弃被攻击的电子标签。本文可为提高无线射频识别技术安全性能的进一步研究和系统优化设计提供参考。
[1]郎为民.射频识别技术原理与应用[M].北京:机械工业出版社,2006:10-160.
[2]谷大武,徐胜波.高级加密保准算法—Rijndael的设计明文[M].北京:清华大学出版社,2003:10-150.
[3]王海科,范伊红,廉飞宇,等.AES加密算法:在不停车收费系统中的应用[J].计算机测量与控制,2006,14(1):95-97.
[4]曾少林,易灵芝,王根平.AES算法在 RFID数据安全中的应用[J].计算机测量与控制,2007,15(7):23-27.
[5]李少芳.DES算法加密过程的探讨[J].计算机与现代化,2006,8(13):101-109.
[6]谢志强,高鹏飞,杨静.基于前缀码的DES算法改进研究[J].计算机工程与应用,2009,45(9):92-95.
[7]蔡庆华,陈文莉.RSA算法在数字签名中的应用[J].安庆师范学院学报,2004,10(2):70-74.
[8]Lu L,Han J,Hu L.Dynamic Key-Updating:Privacy-Preserving Authentication for RFID Systems[C].New York:in Proceedings of PerCom,2007:13-22.
[9]沈建华,杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2005:115-285.