关键字 |
微控制器,Zigbee,双向认证,RS232c |
介绍 |
射频识别(RFID)是一种非接触式识别技术,它可以通过无线链路在RFID标签或应答器和雷竞技网页版阅读器或询问器之间远程自动收集和发送信息。近年来,RFID技术作为一种识别和跟踪各种人造物体[1]-[3]的手段已迅速得到接受。RFID系统由三个主要组件组成:标签、读取器和后端数据库。RFID标签有多种形式,可以在存储容量、存储器类型、射频和功率能力方面有所不同。RFID标签通常由处理数据的集成电路和接收和发射射频信号的天线组成。 |
在商业环境中,RFID标签包含一个电子产品代码(EPC),可以唯一地识别每个带标签的项目[4]。RFID标签将其独特的EPC与相关产品信息存储在标签的内存中,并在读取器请求时发送这些数据。读写器通过广播射频信号对标签进行读写操作。在读取器查询标记并从标记接收到信息之后,读取器将信息转发到后端数据库。后端服务器在检查标签或阅读器的有效性方面起着至关重要的作用,这对于隐私保护和安全问题非常重要。RFID标准是确保RFID技术在不同层次(例如,接口协议,数据结构等)上的高投资的主要问题。在RFID标准化领域有两个相互竞争的倡议:ISO[5]和EPC Global[4],[6]。EPCglobal Class-1 Generation-2 (C1G2)超高频(UHF) RFID标准定义了无源RFID技术的规范,是一个开放的全球标准。EPC C1G2标准规定了UHF频谱(860到960 MHz)内的RFID通信协议。该标准规定,符合标准的RFID标签应包含一个32-b终止密码(Kpwd)以永久禁用标签和一个32-b访问密码(Apwd)。 The reader then performs a bitwise XOR of the data or password with a random number from the tag to cover-code data or a password in EPC Gen 2. However, the EPC C1G2 standards do not fully support privacy invasion and data security issues. The simple kill and access commands specified in EPC C1G2 specifications are not enough to provide secure authentication function and data/privacy protection. EPC C1G2 provides only very basic security tools using a 16-b pseudorandom number generator (PRNG) and a 16-b cyclic redundancy code (CRC). Despite many prospective applications, RFID technology has several privacy-related problems such as data leakage and data traceability, which should be resolved before RFID’s pervasive employment. Many methods have been proposed to enhance the security of RFID systems, and the research for RFID security is quite extensive and growing [7]–[16]. Most hash-based RFID protocols for mutual authentication have been proposed in the literature [17]–[19]. Juels proposed a solution based on the use of pseudonyms, without any hash function [20]. This mutual authentication protocol is based on a short list of pseudonyms that are stored on a tag. To resist cloning and eavesdropping, this protocol requires extra memory on the tag and needs a way to update the tag’s pseudonym list. The communication cost is relatively high because of the tag data updates, which limits the practicality of this scheme. A set of lightweight challenge response authentication algorithms for a low-cost tag is proposed in[21]. Although these can be used in authenticating the tags, the algorithms may be easily broken by a powerful adversary. Due to very limited computational capability in a low-cost RFID tag, only 250–4 K logic gates can be devoted to security-related tasks. Many studies on light authentication protocols that use only efficient bitwise operations (such as XOR, AND, OR, etc.) on tags have been proposed [22]–[24]. Konidala et al. [10] proposed a protocol based on XOR operation and tag’s access and kill passwords for the tag–reader mutual authentication scheme. However, this approach has not been implemented in hardware. The rest of this paper is organized as follows. In Section II, we present the background and previous work on the RFID reader-to-tag authentication protocol. The pad-generation function is discussed in Section III. Section IV shows the implementation results of the mutual authentication scheme using zigbee . Finally, we conclude the paper in Section V. |
相关工作 |
A. EPC Class-1 Gen-2标准 |
在读取器和单个标记之间交换数据之前,需要访问密码。访问密码是一个32-b的值,存储在标记的保留内存中。如果设置了这个密码,那么在标签进行安全的数据交换之前,阅读器必须拥有有效的密码。这些密码可用于激活kill命令以永久关闭标记,也可用于访问和重新锁定标记的内存。在第2代中,为了覆盖代码数据或密码,阅读器首先从标记中请求一个随机数。读取器然后使用该随机数对数据或密码进行逐位异或运算,并将覆盖编码(也称为密文)字符串传输给标记。标记通过对接收到的覆盖编码字符串与原始随机数执行逐位异或来揭示数据或密码。此外,符合EPC C1G2标准的标签只能支持16-b PRNG和16-b CRC校验和,用于检测传输数据[4]、[6]中的错误。图1描述了读写器与标签之间的EPCglobal C1G2通信步骤。每个步骤的详细描述如下。 |
1)询问器发出Req_RN并向标记发送请求消息。 |
2)标签通过反向散射一个新的16-b随机数RN16进行响应。 |
3)然后询问器生成一个16-b密文串,该密文串由要用这个新的RN16传输的16-b字的位异或组成,先都是MSB,然后以这个密文串作为参数发出命令。 |
4)标签对接收到的16-b密文串与原RN16进行位异或,解密收到的密文串。 |
5)询问者发出Req_RN以获得一个新的RN16。 |
6)标签通过反向散射不同的RN16来响应。 |
7)然后询问器将标签的访问密码xor的16个lsb与第6步生成的RN16一起生成的16-b密文字符串进行传输。 |
8)标签对接收到的16-b密文串和RN16进行位异或运算,对接收到的密文串进行解密验证。 |
B. Konidala等。相互认证方案 |
Konidala等人[10]利用标签的32-b访问密码和终止密码来实现标签阅读器的相互身份验证。他们的方案使用两轮PadGen来计算一个覆盖编码板。第一轮对访问密码执行PadGen,而第二轮对杀死密码执行PadGen。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-g001.gif) |
PadGen功能用于创建16-b的密码“封面编码”。在Konidala et al.[10]认证方案中,如图2所示,读取器向确认标记发出Req_RN命令。然后标签生成两个16-b的随机数RT1和RT2,并将它们与它的EPC一起反向散射给阅读器。阅读器将这些消息转发给制造商。制造商匹配接收到的EPC,从后端数据库检索标记的访问密码(Apwd)和终止密码(Kpwd)。制造商生成并存储两个16b随机数RM1和RM2。当i = 1,2时,由PadGen (RTi,RMi)函数计算16个msb (CCPwdM1)和16个lsb (CCPwdL1)的“覆盖编码密码”。制造商生成的CCPwdM1、CCPwdL1、EPC和4个16-b随机数RM1、RM2、RM3、RM4传输给读写器,由读写器转发给标签进行验证。为了验证标记,标记生成另外两个随机数RT3和RT4,以及接收到的RM3和RM4,用于用PadGen (RTi,RMi)函数计算i = 3,4时的CCPwdM2和CCPwdL2。CCPwdM2、CCPwdL2和EPC连同两个16-b的随机数RT3和RT4传输给读写器,由读写器转发给制造商进行验证。 The Konidala et al. scheme offers greater resistance against Lim and Li’s attacks [12]. This scheme is also much more difficult for an adversary to recover the access password under the correlation attack or to forge successful authentication under the dictionary attack. |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-g002.gif) |
PAD-GENERATION函数 |
A.原方案 |
在[10]中,PadGen函数是构造16-b密码板的关键组件,用于覆盖两个16-b访问密码部分(ApwdM和ApwdL)。pad-generation函数通过操作随机数从内存位置检索Apwd和Kpwd的单个位,并将这些位连接起来形成16-b pad。下面将简要介绍PadGen函数。让我们用二进制(以2为基数)表示32-b Apwd和Kpwd |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e001.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e002.gif) |
标签和制造商以16进制形式生成的16-b随机数RTx和RMx为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e003.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e004.gif) |
RTx和RMx的每个数字都用于表示Apwd中的位位置,这些位被连接起来,以十六进制(以16为基数)表示的形式形成16-b输出 |
Apwd−PadGen(RTx,RMx) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e005.gif) |
其中dv1dv2dv3dv4是十进制(以10为基数)表示法。PadGen再次在Kpwd上执行,使用先前生成的v1dv2dv3dv4来指示Kpwd中的位位置,这些位被连接起来形成一个16-b PAD。结果的PAD将表示为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e006.gif) |
其中hp1hp2hp3hp4是十六进制(以16为基数)符号。 |
C.修改方案 |
如前一会话所示,第一轮PadGen在访问密码上执行,如(5)所示,而第二轮PadGen在kill密码上执行,生成所需的PAD,如(6)所示。但是,通过重新配置串联操作可以生成不同的PAD。如果我们执行以下串联操作,第一轮PadGen将对访问密码执行为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e007.gif) |
其中dv1dv2dv3dv4是十进制(以10为基数)表示法。 |
然后,第二轮PadGen执行杀死密码。结果的PAD不是(6),而是表示为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e008.gif) |
其中hp1hp2hp3hp4是十六进制(以16为基数)符号。为了提高安全性,可以制定更复杂的RTx和RMx来表示Apwd和Kpwd中的位位置。对于目前提出的方法,第一轮PadGen执行访问密码为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e009.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e010.gif) |
在第二轮PadGen对kill密码执行之后,生成的PAD将表示为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e011.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e012.gif) |
D.安全考虑 |
由Konidala等人提出的原始方案利用标签的访问和kill asswords和长度为2的PadGen链进行标签阅读器相互认证[10]。然而,实际的攻击可以有效地泄露访问和杀死密码。在[11]中,漏洞分析表明原方案存在安全漏洞。如果攻击者将随机数发送给读取器,使得RTx中的所有十六进制数字都具有相同的值(即RTx = KKKKh),则可以推导出(6)中的每个十六进制数字dv1, dv2, hp3, hp4∈{0000b = 0h, 1111b = Fh}。这就得到dv1dv2, hp3hp4∈{00h, 0Fh, F0h, FFh}。攻击者可以通过以下计算获得ApwdM和ApwdL的8个lsb: |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e013.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e014.gif) |
攻击者可以获得ApwdM和ApwdL的8个lsb,概率分别为1/4。进一步分析的结果表明,可以以大于1/32的概率获得访问密码的16个msb。此外,攻击者可以恢复整个kill密码,概率为1/4[11]。为了进行安全性比较,我们对修改后的方案(8)应用相同的攻击场景。可以推断出每个十六进制数字中的所有位 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e014a.gif) |
在这种情况下,攻击者将能够以1/16的概率提取访问密码中的16b,这比原来的方案更安全。在另一种修改方案(11)中,dv1, dv2, dv3, dv4, hp1, hp2, hp3, hp4的值由两个随机数RTx和RMx相加得到。使用RTx = KKKKh,攻击者将无法在不知道RMx的情况下提取访问密码的16b。 |
设计与实现 |
A.数据编码架构 |
根据EPC C1G2协议,标签使用后向散射调制与询问器通信,其中标签根据所发送的数据在两种状态之间切换其天线的反射系数。标签编码 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-g003.gif) |
以数据速率[25]的FM0基带或子载波的米勒调制的后向散射数据。本文提出了FM0和米勒调制子载波(MMS)两种编码结构。FM0和MMS的详细定义见[6]。下面是FM0和MMS的简单定义。二进制的“1”在符号时间内是常数,二进制的“0”在符号中间有一个状态转换,或者FM0符号可以反过来用频率高达8倍的方波xor来形成MMS。此外,基带米勒在相邻的零二进制值之间反转基带值。最后,产生的波形乘以每比特m个子载波周期的方波,其中em等于2,4或8。FM0编码体系结构设计如图3所示。分频器将原始时钟信号频率除二,并作为时钟信号处理以触发第一寄存器。编码器由原始时钟信号触发。 The first input register is used to save the input data for further encoding processes. The encoded information will be stored in the register and will output the final results in sequence. The coding structure of MMS is similar to that of FM0. |
MMS编码体系结构如图4所示。分频器分割原始时钟信号以触发存储输入数据的第一个寄存器。原始时钟作为触发信号应用于编码器。编码结果通过XNOR门用一个子载波位化。应用Synopsys PrimePower平台在FM0和MMS编码架构上模拟不同输入模式下的功耗。在图5中,当输入模式为“01010101_01010101”时,FM0的最大功耗为3.367 × 10−5 W。彩信编码体系结构 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-g004.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-g005.gif) |
比FM0消耗更多的能量。MMS编码的最大功耗发生在输入模式为“11111111_11111111”时。当M = 2、4和8时,对应的最大功率分别为3.741 × 10−5、3.993 × 10−5和4.493 × 10−5 W。 |
B. PadGen互认证体系结构 |
PadGen函数是用于在传输之前生成覆盖编码板以屏蔽标签的访问密码的关键函数。PadGen函数的实现也需要随机数发生器产生RTx和RMx。典型的16-b线性反馈移位寄存器(LFSR)用于生成伪随机数。具有精心选择的反馈函数的LFSR可以产生一个看起来随机的比特序列,并且具有非常长的周期。对于一个n位LFSR, LFSR可以在重复之前生成一个(2n−1)-b长的伪随机序列。一个最大长度的LFSR产生一个m序列(即,在移位寄存器内循环遍历所有可能的2n−1状态,除了所有位都为零的状态)。然而,具有最大周期的LFSR必须满足以下性质:由tap序列加上常数1形成的多项式必须是对2[26]模的原始多项式。由于Fibonacci LFSR比Galios LFSR更适合硬件实现,因此本文采用Fibonacci LFSR。反馈多项式为x16 + x14 + x13 + x11 + 1。16-b随机数发生器的结构如图6所示。 is performed on the tag’s 32-b access password Apwd = a0a1a2a3 . . . a31, which is broken up into two parts—the 16 MSBs of the access password as ApwdM and the 16 LSBs denoted as ApwdL. The hexadecimal (base 16) notation of the 16-b random numbers RTx and RMx generated by the tag and manufacturer are expressed as RTx = dt1dt2dt3dt4 and RMx = dm1dm2dm3dm4, respectively. Using each of the four hexadecimal digits in RTx (or RMx) to indicate a bit address within ApwdM or ApwdL, PadGen then selects those bits from ApwdM and ApwdL to form the 16-b output pad, as shown in (5). The resulting output dv1dv2dv3dv4 together with RTx will then perform PadGen over the 32-b kill password Kpwd (k0k1k2k3 . . . k31) to form the 16-b output pad PADx. |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e015.gif) |
使用多路复用器来选择ApwdM、ApwdL、CCPwdL或CCPwdM。然后,多路复用器可以执行异或操作,以获得以下覆盖编码的密码或用于相互验证的访问密码: |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e015a.gif) |
实现CRC功能,对标签和读写器之间传输的命令/消息进行保护和校验。用于实现CRC的生成器多项式为 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-1396-e016.gif) |
B.实施结果 |
密码假设为Apwd = ABCDEF01和Kpwd = 543210FE。由随机数发生器生成两个随机数RTx = 26D6和RMx = 1FFF。计算的PAD1等于B0D0。对于ApwdM = ABCD(十六进制),从ApwdM⊕PAD1 = 1B1D(十六进制)计算出CCPwdM1,得到CRC-16代码= 5A4E(十六进制)。 |
由随机数发生器生成两个随机数RTx = 6B79和RMx = 06C0。计算的PAD1等于88A8。对于ApwdM = ABCD(十六进制),从ApwdM⊕PAD1 = 2365(十六进制)计算出CCPwdM1,得到CRC-16代码= 4B5D(十六进制)。最终输出的仿真结果为23654B5D(十六进制),如图9所示。表一列出了基于TSMC 0.18-μm技术文件的设计编译报告的逻辑元件门数和功耗摘要。表i中还比较了原方案和修改方案的实验结果,修改方案(8)与原方案(6)占地面积基本相同。此外,实验结果表明,(11)中修改方案的门数和功耗均高于原方案(6),这是由于(11)中PadGen的计算开销大于(6)和(8)中的PadGen。(11)中的PadGen的安全级别可以通过牺牲门数和功耗的增加来提高。 |
结论 |
本文采用基于微控制器的架构对MMS和FM0设计的功能进行了验证。由于1类标签的EPC Gen2标准只支持非常基本的安全级别,因此我们研究了ZIGBEE系统环境中标签阅读器相互身份验证协议的三种不同类型的面板生成功能。该方案在改进EPC全局C1G2通信认证方案的缺点方面是可行的。给出了一种ZIGBEE标签阅读器相互认证方案的硬件实现。该体系结构实现了PadGen功能和标签的访问和终止密码,实现了标签阅读器的相互认证。 |
参考文献 |
- R. Want, â '  '通过RFID实现无所不在的传感,â '  '电脑,第37卷,no。4, pp. 84Ãⅰ '  ' 86, 2004年4月
- 加芬克尔和罗森博格,埃德。RFID:应用、安全和隐私.马萨诸塞州雷丁:Addison-Wesley, 2005年7月。
- S. Han, H. Lim, J. Lee, â ' “一种基于RFID系统的差分驱动移动机器人高效定位方案,â ' ”IEEE反式。印第安纳州。电子。,第53卷,no。5、pp. 3362Ãⅰ '  ' 3369, 2007年12月。
- 第一类第2代超高频空中接口协议标准。(在线)。可用:http://www.epcglobalinc.org/standards/
- 物品管理的射频识别,第2版,ISO/IEC 18000, 2008年7月1日。
- 版本1.0.9 epcglobalapproved标准,epcglobalradio frequency Identity Protocols第1类第2代UHF RFID协议,用于860 MHzâ '  ' ' 960 MHz的通信。(在线)。可用:http://www.epcglobalinc.org/standards
- S. L. Garfinkel, A. Juels,和R. Pappu, â ' “RFID隐私:问题概述和建议的解决方案,â ' ”IEEE安全隐私,第3卷,no。3、pp. 34Ãⅰ '  ' 43, May/Jun。2005.
- A. W. Stcphcn, E. S. Sanjay, L. R. Ronald和W. E. Daniel, â ' “低成本射频识别系统的安全和隐私方面,â ' ”安全普及计算。赵文雄,vol. 2802, pp. 201Ãⅰ '  ' 212, 2004。
- J.-B。加工,S.-B。Yim和t - j。Lee, â ' “在密集RFID网络中使用移动RFID读取的高效读写器防碰撞算法,â ' ”IEEE反式。印第安纳州。电子。第56卷,no。7, pp. 2326Ãⅰ '  ' 2336, 2009年7月。
- D. M. Konidala, Z. Kim和K. Kim, â '  '一种简单而经济的RFID tagâ '  '阅读器相互认证方案,â '  'Proc, Int。相依RFIDSec, 2007年7月,pp. 141Ãⅰ '  ' 152。
- P. Peris-Lopez, T. Li, L. Lim, J. C. Hernandez-Castro,和J. M. Estevez- Tapiador, â ' “EPC第1类第2代标准下的相互认证方案漏洞分析,â ' ”Proc。RFIDSec, 2008年7月,页52¢63。
- P.佩里-洛佩兹,T.-L。Lim,和T. Li, â '  ' '为epcglobal框架下运行的RFID标签提供更强的低成本认证,â '  ' '在Proc. IEEE/IFIP Int。相依EUC12月17日,一个¢20日,2008年,卷2,页159¢166。
- A. Juels, â ' “RFID安全与隐私:一项研究调查,â ' ”IEEE J. Sel。Commun领域。,第24卷,no。2, pp. 381Ãⅰ '  ' 394, 2006年2月。
- S. Piramuthu, â '  ' RFID标签/读写器认证协议,â '  '决策。upport Sys,。,第43卷,no。3, pp. 897Ãⅰ '  ' 914, 2007年4月。
- P. Peris-Lopez, J. C. Hernandez-Castro, J. M. Estevez-Tapiador, A. Rib-agorda, â '  ' RFID
|