所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

RFID系统安全认证协议的ARM和FPGA实现

S.Mohanavelu1, T.Ramya2
  1. 印度泰米尔纳德邦卡坦库拉图尔市SRM大学欧洲经委会系PG学生[VLSI
  2. 印度泰米尔纳德邦卡坦库拉图尔SRM大学欧洲经委会系助理教授2
有关文章载于Pubmed谷歌学者

更多相关文章请访问国际电气、电子和仪器工程高级研究杂志

摘要

RFID标签的认证过程中,由于认证协议较弱,标签/读写器/服务器之间的通信通道不安全。电子产品代码(EPC)第1类第2代(C1G2)规范存在一些严重的安全问题,因此密码要么直接通过网络泄露,要么泄露足够的信息,即在执行身份验证时,允许黑客推断或猜测密码。为了克服这种弱身份验证,使用了专门设计的pad Gen功能来提高安全性。Pad Gen功能用于在数据传输之前产生一个覆盖编码垫,以掩盖标签的访问密码。为此,提出了一种XOR方案和MOD方案的相互认证协议,避免了数据传输过程中的数据泄露和数据可追溯性,利用Xilinx ISE软件对系统模型进行仿真和综合。该方案将在ARM 7和Spartan 3E FPGA上进行硬件验证。

关键字

rfid -射频识别,epc -电子产品代码,c1g2 -第1类第2代,arm -高级RISC机

介绍

射频识别(RFID)是一种非接触式识别技术,它可以通过无线链路在RFID标签或应答器和雷竞技网页版阅读器或询问器之间远程自动收集和发送信息。近年来,RFID技术作为一种识别和跟踪各种人造物体的手段迅速得到了人们的接受。它由三个主要组件组成:标签、读取器和服务器。
RFID标签有多种形式,可以在存储容量、存储器类型、射频和功率能力方面有所不同。这些标签大多只包含一个唯一的电子产品代码(EPC)号,关于产品的进一步信息存储在称为EPC信息服务(EPC- is)的数据库网络中。通过无线接口,当RFID阅读器通过无线电查询时,每个标签都可以报告数据。
RFID阅读器只能识别接近的标签;读取器无法读取超出范围的数据标记。本文介绍了安全认证协议。本文的其余部分组织如下。在第1节中,我们在第2节中介绍了RFID阅读器到标签身份验证协议的背景和以前的工作。增强的pad生成(PadGen)功能将在第3节中讨论。第4节展示了所提出的相互认证方案的实现结果。最后,在第5节对本文进行总结。

Epc全球第1类第二代标准

EPC全球第1类第2代(C1G2)超高频(UHF) RFID标准定义了无源RFID技术的规范,是一个开放的全球标准。EPC C1G2标准规定了UHF频谱(860到960MHZ)内的RFID通信协议。标准规定,投诉RFID标签应包含32位终止密码(Kpwd)以永久禁用标签和32位访问密码(Apwd)。然后,阅读器使用标记中的随机数对数据或密码执行逐位异或,以覆盖EPC Gen 2中的编码数据或密码。

rfid系统的组件

RFID系统由各种组件集成而成。这允许RFID系统扣除对象(标签)并对其执行各种操作。RFID组件的集成实现了RFID解决方案。RFID系统由以下三个部分组成
•标签(附在物体上,唯一标识)。
•读取器(标签信息的接收器,操作器)。
•服务器(关于标签和制造商的总体信息)。
一)标记的
标签包含存储每个对象的唯一标识(ID)的微芯片。ID是存储在RFID存储器中的序列号。该芯片由集成电路组成,并嵌入硅芯片中。RFID存储芯片可以是永久的,也可以是可变的,这取决于读写特性。只读和重写电路是不同的,因为只读标签包含固定的数据,如果没有电子重新编程就不能改变。另一方面,重写标签可以在任何时候通过读写器编程,没有任何限制。标签有三种类型:被动、半主动和主动。半有源标签结合了有源标签和无源标签的特点。因此,主要有两种类型的标签(主动和被动)正在被工业和大多数RFID系统所使用。
B)读者
RFID阅读器是RFID系统的中心。它以一定的频率通过RFID天线读取标签的数据。基本上,读卡器是一种产生和接受无线电信号的电子设备。该天线包含一个附加的阅读器,阅读器通过天线翻译标签的无线电信号,这取决于标签的容量。读取器需要收集或写入数据到标签上(以防万一)并通过计算机系统。
C) RFID系统
RFID标签的32位Access密码和32位kill密码实现了标签阅读器的相互认证。他们的方案使用两轮PadGen来计算一个覆盖编码板。第一轮对访问密码执行PadGen,而第二轮对杀死密码执行PadGen。PadGen功能用于创建16位的密码“封面编码”。
D) RFID系统的逐步描述
1.读取器向确认标记发出Req_RN命令。
2.然后标签生成两个16位随机数,即RT1和RT2,并将它们与它的EPC一起反向散射给阅读器。阅读器将这些消息转发给制造商。
3.制造商匹配接收到的EPC,从后端数据库检索标记的访问密码(Apwd)和终止密码(Kpwd)。
4.制造商生成并存储两个16位随机数RM1和RM2。16位msb (CCPwdM1)和16位lsb (CCPwdL1)的“覆盖编码密码”由PadGen函数计算。
5.制造商生成的CCPwdM1、CCPwdL1、EPC和4个16位随机数RM1、RM2、RM3、RM4被传输给读写器,由读写器转发给标签进行验证。
6.为了验证标签,标签生成另外两个随机数RT3和RT4,以及接收到的rm3和RM4,用于用PadGen (RTi,RMi)函数计算CCPwdM2和CCPwdL2。
7.CCPwdM2、CCPwdL2和EPC连同两个16位随机数RT3和RT4被传输给阅读器,阅读器再转发给制造商进行验证。

身份验证方案

如今,在许多基于网络的应用程序中,安全性是必不可少的。在处理数据传输时,确定正在接收的数据是否损坏是至关重要的。在这个系统中,我们提出了一种认证协议,它可以对读写器和标签进行相互认证。它可以抵抗中间人攻击,减少重新认证的开销。我们提出的方案的主要优点是,它不需要在标记中实现任何特殊的加密散列函数/密钥。标签和读取器也不需要同步安全密钥/哈希值。我们建议改进现有的单向阅读器到标签的身份验证方案。
E) Padgen
该方案利用标签的32位访问和终止密码实现标签阅读器相互认证方案。它使用两轮PadGen来计算一个覆盖编码板。第一轮对访问密码执行PadGen,而第二轮对杀死密码执行PadGen。
PadGen功能用于创建16位pad,对接入密码进行覆盖编码。在关联攻击或字典攻击下,攻击者很难恢复访问密码或伪造成功的身份验证。PadGen功能是一个关键功能,用于在传输之前产生一个覆盖编码板来屏蔽标签访问密码。PadGen函数的实现也需要随机数发生器产生RTx和RMx。
PadGen功能用于创建16位pad,对接入密码进行覆盖编码。在关联攻击或字典攻击下,攻击者很难恢复访问密码或伪造成功的身份验证。PadGen功能是一个关键功能,用于在传输之前产生一个覆盖编码板来屏蔽标签访问密码。PadGen函数的实现也需要随机数发生器产生RTx和RMx。
F)接入密码
在读取器和单个标记之间交换数据之前,需要访问密码。访问密码是存储在标记保留内存中的32位值。如果设置了这个密码,那么在标签进行安全的数据交换之前,阅读器必须拥有有效的密码。
G)杀死密码
访问密码可用于激活kill命令以永久关闭标签,以及访问和重新锁定标签的内存。
H)数据选择器
在电子学中,多路复用器或多路复用器是一种从多个模拟或数字输入信号中选择一个并将所选输入转发到单行的设备。一个2n个输入的多路复用器有n个选择行,用于选择哪个输入行发送到输出。电子多路复用器使得多个信号共享一个设备或资源成为可能。多路复用器通常与接收端的互补解复用器一起使用。多路复用器是一种组合逻辑开关设备,其操作类似于一个非常快速的多位置旋转开关。它们连接或控制多条被称为“通道”的输入线,由2、4、8或16个单独的输入组成,一次一个输出。多路复用器的工作是允许多个信号共享一个公共输出。多路复用器被用作减少电路中所需逻辑门数量的一种方法,或者当一条数据线需要携带两个或多个不同的数字信号时。通常,多路复用器有偶数个数据输入,若干个“控制”输入与数据输入的数量相对应,根据这些控制输入的二进制条件,适当的数据输入直接连接到输出。

XOR方案

在异或方案中,每个Pad函数是基于Pad函数计算的,使用一组(RTx,RMx)在开放空间中传输。与PadGen相比,目前提出的PAD函数是基于一组(RV,RW)计算的,它不是公开传输的。
RV和RW分别基于Apwd-PadGen (RTx,RMx)和Apwd PadGen(RTx,RTxRMx)计算。然后分别由Kpwd-PadGen(RV,RW)和Kpwd PadGen(RV,RvRW)生成PAD1和PAD2。RV和RW值是在标签和读取器中计算的。因此,对手将无法关联ApwdM和ApwdL中的所有位。
I)异或方案的实施
在每个PAD中,函数是基于一组(RTx,RMx)计算的,这是在开放空间中传输的。与Konidala等人提出的PadGen相比,本文提出的PAD函数是基于(RV,RW)的一组(RV,RW)计算的,该函数不是公开传输的。RV和RW分别基于Apwd-PadGen(RTx,RMx)和Apwd-PadGen(RTx,RTx⊕RMx)计算。
然后分别由Kpwd-PadGen(RV,RW)和Kpwd-PadGen(RV,RV⊕RW)生成PAD1和PAD2。RV和RW值是在标签和读取器中计算的。因此,对手将无法关联ApwdM和ApwdL中的所有位。
1.Apwd-PadGen (RTx RMx) = dv1dv2dv3dv4 =房车。选择RTx、RMx和Apwd作为PadGen操作的输入,将XOR-PadGen操作的计算结果RV存储在寄存器中,以便进行进一步的操作。
2.RT⊕RM Apwd-PadGen (RT) = dw1dw2dw3dw4 = RW。通过mux选择,选择RT、RT⊕RM和Apwd作为PadGen操作的输入。计算结果RW存储在寄存器中,以便进一步计算。
3.Kpwd-PadGen (RV,RW) = hq1hq2hq3hq4=PAD1。PAD1可以通过mux选择RV、RW和Kpwd作为XOR-PadGen操作的输入来获得。
4.Kpwd-PadGen(房车,房车⊕RW) = hr1hr2hr3hr4 = PAD2。同样,PAD2也可以用RV (RV⊕RW)和Kpwd进行XOR-PadGen操作来获得。

国防部计划

采用模算法作为生成PadGen函数的另一种方法,因为其格式简单。模算术不需要进位或借位操作。在计算硬件中,进位电路是算术计算的主要部分,也是速度限制的主要贡献者。模运算的简单性允许在上一代的PadGen函数中无法使用的几种不同的方法。这些运算是在模2的基础上进行模运算的。
在模-2数学中,减法函数被异或运算取代。基于xor的除法(没有加减法进位)消耗的资源非常少。异或操作的特殊优势在于它可以因此实现低成本的PadGen功能的硬件实现。
J) MOD方案的实施
为了实现基于模运算的PadGen运算,在PadGen运算之前插入一个模-2电路模块。生成RTx和RMx后,使用多路复用器允许选择Apwd或Kpwd进行MODPadGen操作。具体功能描述如下。
1) Apwd-PadGen(RA,RB) = di1di2di3di4 = RI。文中列出的mod1和mod2分别用于生成RA和RB。
2)然后通过Apwd执行PadGen计算RI,并将结果存储在Register1中以供进一步操作。
3) Apwd-PadGen (RC, RD) = dj1dj2dj3dj4 = RJ。列出的mod3和mod4分别用于生成RC和RD。然后通过Apwd执行PadGen来获得RJ,结果存储在Register2中以供进一步计算。
4) Kpwd-PadGen左上角(再保险、RF) = dk1dk2dk3dk4 = PAD1。然后通过对Kpwd执行PadGen来计算PAD1。
5) Kpwd-PadGen (RG, RH) = do1do2do3do4 = PAD2。然后通过对Kpwd执行PadGen来计算PAD2。
在Spartan 3E环境中对所提出的设计进行了仿真。经过验证的Verilog代码然后下载到Xilinx Spartan 3E FPGA上,在Spartan 3E板上运行50 mhz时钟,以验证硬件。输出波形显示使用ModelSim进行实时验证。在Spartan 3E和ARM 7上的FPGA实现结果如图7和图8所示。使用LCD显示器表示16-b随机数RT = abcd和RM =1234,覆盖编码Apwd =05965375,如图7所示。在与FPGA实现相同的输入条件下,Verilog仿真结果如图5和图6所示。仅在Modelsim中对MOD操作进行的仿真验证如图9所示。

结论

为了提高EPC C1G2物种下提出的原始阅读器到标签身份验证协议的安全级别,使用PadGen函数保护Access密码不被暴露。该方案的主要优点是,它不需要在标记和中心服务器/数据库中实现任何特殊的加密散列函数/密钥。基于异或操作和MOD操作的PadGen函数与标签Apwd和Kpwd关联用于生成PADi。该协议通过在标签和阅读器中使用操作值来增强PadGen操作,提高了标签和阅读器相互认证的安全性。在未来哈希函数的每个组件,它使黑客在数据交易过程中的密码更加复杂

数字一览

图1 图2 图3 图4 图5
图1 图2 图3 图4 图5
图6 图7 图8 图9
图6 图7 图8 图9

参考文献






全球科技峰会