基于循环冗余校验码运算的无源射频识别安全认证方法

文档序号:6425929阅读:134来源:国知局
专利名称:基于循环冗余校验码运算的无源射频识别安全认证方法
技术领域
本发明属于射频识别技术领域,涉及ー种射频识别系统的安全认证方法,具体是一种基于循环冗余校验码运算的无源射频识别系统的安全认证方法。
背景技术
射频识别(Radio Frequency Identification,简称RFID)技术是一种利用射频信号和空间耦合传输特性实现对被识物体的非接触式自动识别技木。RFID系统按照标签上是否含有数据电源,可分为有源RFID系统和无源RFID系统两类。基本的无源RFID系统包括无源标签(简称标签)、读写器和天线三部分。其中,标签存储相关物体的各种信息,读写器通过射频信号与标签进行通信,获取标签上存储的识别信息,并可将处理后的信息再写入标签中。RFID系统目前在安全控制、药品监控、票务应用、公共交通、动物识别、エ业自动设 备等各个领域得到越来越广泛的应用。随着信息量成几何级数的増加,如何高效安全地传输信息已经成为了人们关注的重点。由于RFID系统的读写器与标签之间是无线通信,系统没有点对点的安全信道,加上无源标签的低成本要求,使得RFID标签仅具有有限的计算能カ及存储空间,许多现有成熟的、优秀的密码技术无法使用,因此无源RFID系统的安全防护能力极其薄弱。RFID系统面临的主要安全威胁包括窃听、重放、假冒、跟踪、流量分析和信息篡改等攻击,严重制约着RFID系统进ー步地发展和应用。RFID系统的通信模型由物理层、通信层和应用层三层组成。物理层主要解决电气信号、频道分配、物理载波等问题。通信层定义了读写器和标签通信的数据交换和指令。应用层用于解决和最上层应用直接相关的内容,包括识别、认证、应用层数据的表示以及处理逻辑等。国际エ业界和学术界对RFID系统的安全问题提出的解决方案大致可以分为两类ー类是通过物理手段保护标签的安全性,位于通信模型的物理层和通信层;另一类是采用基于密码技术的安全协议,位于通信模型的应用层。物理方法能一定程度上解决RFID系统的安全问题,但是标签的利用率低下,并且安全性不是太好,基于密码技术的安全协议越来越受到人们的青睐,它主要是采用认证手段和加密算法来确保标签和读写器之间的数据安全。目前基于密码技术的安全协议主要采用Hash函数、分组加密算法和流加密算法,但都存在着某种安全隐患或难以在无源标签上实现等问题,因而急需设计出低成本、高效、实用的适合RFID系统硬件条件和应用需求的安全机制。

发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种无源RFID系统中读写器与标签之间无线通信的认证方法,满足无源RFID系统的安全认证需求。为解决上述技术问题,本发明所采用的技术方案是一种基于循环冗余校验码运算的无源射频识别安全认证方法,该方法由以下1)、2)和3)组成
I)系统标签对读写器的单向认证;2)系统读写器对标签的单向认证;3)系统读写器与标签的双向认证。上述无源射频识别系统标签对读写器的单向认证方法,标签在读写器访问前先对其进行单向认证,能帮助实现系统分级的访问控制。上述无源射频识别系统读写器对标签的单向认证方法,读写器在访问标签前先对其进行单向认证,保障数据传输的可靠流向,防止非法标签恶意接入系统。上述无源射频识别系统读写器与标签的双向认证方法,对标签和读写器都进行认证,有效地保证通信双方的真实性。本发明提供无源射频识别系统中标签对读写器的单向认证、读写器对标签的单向 认证和读写器与标签的双向认证,能够抵御射频识别系统面临的窃听攻击、重放攻击、信息篡改、前向攻击和后向攻击等。本发明要求读写器存储根密钥,读写器内置一个随机数产生器和一个单向函数电路;标签存储安全參数和认证密钥,标签内置一个随机数产生器。本发明所述方法在读写器盘点标签后进行,即读写器采用防碰撞机制从多个标签中识别单ー标签并获取标签上存储的物品唯一编码UAC后进行。一、标签对读写器的单向认证流程如下(I)读写器发送安全參数获取命令Get_SeCPara ;(2)标签发送安全參数SecPara ;(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ;(4)标签产生一个随机数Nt发送给读写器;(5)读写器用AK计算CNt = CRC (Nt | | AK),发送单向认证命令Auth (CNt);(6)标签用AK计算CNt,= CRC (Nt | | AK),比较CNt,和CNt,如果相等,标签认为读写器通过认证,标签返回操作状态State ;否则标签认为读写器未通过认证,返回操作状态
bt&tθ Oニ、读写器对标签的单向认证流程如下(I)读写器发送安全參数获取命令Get_SeCPara ;(2)标签发送安全參数SecPara ;(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,产生ー个随机数队,发送取得认证命令Get_Auth (Nr);(4)标签用AK计算CNr = CRC (Nr | | AK)发送给读写器;(5)读写器用AK计算CNr,= CRC (Nr | AK),比较CNr,和CNr,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。三、读写器与标签的双向认证流程如下(I)读写器发送安全參数获取命令Get_SeCPara ;(2)标签发送安全參数SecPara ;(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ;
(4)标签产生一个随机数Nt发送给读写器;(5)读写器用AK计算CNt = CRC (Nt IAK),然后产生一个随机数Nr,发送双向认证命令 Mul_Auth(CNt,凡);(6)标签用AK计算CNt,= CRC (Nt | | AK),比较CNt,和CNt,如果相等,标签认为读写器通过认证;否则标签认为读写器未通过认证。如果认证通过,标签用AK计算C凡=CRC (RNr IAK)发送给读写器;(7)读写器用AK计算CNr,= CRC (Nr | AK),比较CNr,和CNr,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。上述流程中的命令及符号说明如下Get_SecPara :安全參数获取命令。

Req_Auth ():请求认证命令。Auth():单向认证命令。Get_Auth():取得认证命令。Mul_Auth():双向认证命令。Nr :读写器产生的随机数,用于认证标签。Nt :标签产生的随机数,用于认证读写器。AK:认证密钥。BK:根密钥。SecPara :标签存储的与认证相关的安全參数。UAC 标签存储的物品唯一编码。State :标签响应命令的操作状态。I I:比特串联。CRC(X):对数据X进行循环冗余校验编码。本发明的特点在于,读写器和标签的认证过程不需要后台数据库的參与,读写器和标签先进行认证密钥协商,然后利用随机数以及循环冗余校验(CRC)编码运算来保护认证密钥,通过认证数据的完整性校验来确保主体的活现性,从而实现对方身份的合法性验证。本发明的优点在干,采用无源RFID标签内置的16位CRC编码电路,利用CRC运算的单向函数特性保护认证密钥,避免了功耗较大的密码运算电路,成本低,功耗小,可实现性強,能满足中低等级无源RFID系统读写器和标签的安全认证需求。


图I为本发明无源RFID系统标签对读写器的单向认证流程示意图;图2为本发明无源RFID系统读写器对标签的单向认证流程示意图;图3为本发明无源RFID系统读写器与标签的双向认证流程示意图;图4为现有无源RFID系统中的CRC-16编码电路原理图;图5为安全參数格式。
具体实施例方式以下结合附图对本发明的具体实施方式
进行详细描述。
初始状态读写器采用防碰撞机制从多个标签中识别出単一标签,并通过编码获取命令获得了标签上存储的物品编码信息。图I为本发明无源RFID系统标签对读写器的单向认证流程,具体实施包括(I)读写器发送安全參数获取命令Get_SeCPara ;安全參数获取命令的帧格式如下
数据段命令编码标签句柄校验位数81616
描述-handleCRC-16其中 命令编码安全參数获取命令的编码。标签句柄盘点过程中标签发送的11位随机数及CRC-5。CRC-5的生成多项式为χ5+χ3+1ο校验CRC_16计算包含命令编码和标签句柄数据段。CRC-16的生成多项式为x16+x12+x5+l0如果标签接收到的命令中包含的校验有错,标签不响应该命令。(2)标签发送安全參数SecPara ;安全參数获取命令的响应数据包格式如下
数据段安全參数标签句柄校验位数321616
_描述_认证相关參数_handle _ CRC-16 _其中安全參数指标签存储区中的安全參数,包括安全模式、安全功能、响应參考时间、随机数长度、和密钥长度等,格式如图5 定义如下a)安全模式指示标签是否需要进行安全认证。b)安全功能指示标签所支持的安全功能,如标签对读写器的单向认证、读写器对标签的单向认证、读写器与标签的双向认证以及预留扩展功能等。c)响应參考时间指示读写器发送请求认证命令、单向认证命令、取得认证命令、双向认证命令等命令后需要持续发送连续载波的最大时间。d)随机数长度指示认证流程中生成的随机数的长度。e)密钥长度指示标签存储的认证密钥长度。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含安全參数和标签句柄数据段。(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ;认证密钥AK = f (rk| Iuac),其中f表示读写器与标签事先约定的一种单向散列函数。请求认证命令的帧格式如下数据段命令编码标签句柄校验位数81616
描述-handleCRC-16其中命令编码请求认证命令的编码。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含命令编码和标签句柄数据段。如果标签接收到的命令中包含的校验有错,则标签不响应该命令。(4)标签产生一个随机数Nt发送给读写器; 请求认证命令的响应数据包格式如下
数据段随机数标签句柄校验位数随机数长度1616
描述NthandleCRC-16其中随机数标签产生的用于认证的随机数,即Nt。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含随机数和标签句柄数据段。(5)读写器用AK计算CNt = CRC (Nt I IAK),发送单向认证命令Auth (CNt);单向认证命令的帧格式如下
数据段命令编码认证数据标签句柄校验位数8161616 描述 - CNt handle CRC-16其中命令编码单向认证命令的编码。认证数据读写器对随机数和认证密钥的CRC运算結果,即CNt。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含命令编码、认证数据和标签句柄数据段。如果标签接收到的命令中包含的校验有错,标签不响应该命令。(6)标签用AK计算CNt,= CRC (Nt | AK),比较CNt,和CNt,如果相等,标签认为读写器通过认证,标签返回操作状态State ;否则标签认为读写器未通过认证,返回操作状态
bt&tθ O单向认证命令的响应数据包格式如下
数据段操作状态标签句柄校验位数-1616
描述StatehandleCRC-16其中操作状态标签响应命令后的操作状态,含义包括认证成功或操作失败。
标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含操作状态和标签句柄数据段。图2为本发明无源RFID系统读写器对标签的单向认证流程,具体实施包括(I)读写器发送安全參数获取命令Get_SeCPara ;(2)标签发送安全參数SecPara ;(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,产生ー个随机数队,发送取得认证命令Get_Auth (Nr);取得认证命令的帧格式如下
数据段命令编码随机数标签句柄校验 位数8随机数长度1616 描述 - Nr handle CRC-16其中命令编码取得认证命令的编码。随机数读写器产生的用于认证的随机数,即队。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含命令编码、随机数和标签句柄数据段。如果标签接收到的命令中包含的校验有错,标签不响应该命令。(4)标签用AK计算CNr = CRC (Nr | | AK)发送给读写器;取得认证命令的响应数据包格式如下
数据段认证数据标签句柄校验位数161616
描述CNrhandleCRC-16其中认证数据标签对随机数和认证密钥的CRC运算結果,即CN,。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含认证数据和标签句柄数据段。(5)读写器用AK计算CNr,= CRC (Nr | AK),比较CNr,和CNr,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。图3为本发明无源RFID系统读写器与标签的双向认证流程,具体实施包括(I)读写器发送安全參数获取命令Get_SeCPara ;(2)标签发送安全參数SecPara ;(3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ;(4)标签产生一个随机数Nt发送给读写器;(5)读写器用AK计算CNt = CRC (Nt IAK),然后产生一个随机数队,发送双向认证命令 Mul_Auth(CNt,凡);双向认证命令的帧格式如下数据段命令编码认证数据随机数标签句柄校验位数816随机数长度1616 描述 - CNt Nr handle CRC-16其中命令编码双向认证命令的编码。认证数据读写器对随机数和认证密钥的CRC运算結果,即CNt。随机数读写器产生的用于认证的随机数,即队。标签句柄盘点过程中标签发送的11位随机数及CRC-5。

校验CRC_16计算包含命令编码、认证数据、随机数和标签句柄数据段。如果标签接收到的命令中包含的校验有错,标签不响应该命令。(6)标签用AK计算CNt,= CRC (Nt | AK),比较CNt,和CNt,如果相等,标签认为读写器通过认证;否则标签认为读写器未通过认证。如果认证通过,标签用AK计算C凡=CRC (RNr IAK)发送给读写器;双向认证命令的响应数据包格式如下
数据段认证数据标签句柄校验位数161616
描述CNrhandleCRC-16其中认证数据标签对随机数和认证密钥的CRC运算結果,即CN,。标签句柄盘点过程中标签发送的11位随机数及CRC-5。校验CRC_16计算包含认证数据和标签句柄数据段。(7)读写器用AK计算CN/ = CRC (Nr | AK),比较CNノ和C凡,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。图4为现有无源RFID系统中的CRC-16编码电路,CRC-16的生成多项式为x16+x12+x5+l,具体实施如下(I)用预置值(PRE)7FFFh预置所有的CRC寄存器C[15:0];(2)在时钟CLK驱动下,将要编码的数据依高位优先的次序按位输入DATA端ロ ;(3)全部数据位输入完成之后,将C[15:0]的值取补码即得到输入数据的CRC-16码。
权利要求
1.一种基于循环冗余校验码运算的无源射频识别安全认证方法,其特征在于,该方法包括 1)系统标签对读写器的单向认证; 2)系统读写器对标签的单向认证; 3)系统读写器与标签的双向认证。
2.根据权利要求I所述的基于循环冗余校验码运算的无源射频识别安全认证方法,其特征在于,系统标签对读写器的单向认证流程如下 1)读写器发送安全參数获取命令Get_SeCPara; 2)标签发送安全參数SecPara; 3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ; 4)标签产生一个随机数Nt发送给读写器; 5)读写器用AK计算CNt= CRC (Nt I IAK),发送单向认证命令Auth (CNt),其中| |表示比特串联,CRC (Nt I AK)为对Nt I IAK进行循环冗余检验编码; 6)标签用AK计算CNt,=CRC (Nt | | AK),比较CNt,和CNt,如果相等,标签认为读写器通过认证,标签返回操作状态State ;否则标签认为读写器未通过认证,返回操作状态State。
3.根据权利要求I所述的基于循环冗余校验码运算的无源射频识别安全认证方法,其特征在于,系统读写器对标签的单向认证流程如下 1)读写器发送安全參数获取命令Get_SeCPara; 2)标签发送安全參数SecPara; 3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,产生ー个随机数Nr,发送取得认证命令Get_Auth (Nr); 4)标签用AK计算CNr= CRC (Nr AK)发送给读写器; 5)读写器用AK计算CNr,=CRC (Nr | AK),比较CNr,和CNr,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。
4.根据权利要求I所述的基于循环冗余校验码运算的无源射频识别安全认证方法,其特征在于,系统读写器与标签的双向认证流程如下 1)读写器发送安全參数获取命令Get_SeCPara; 2)标签发送安全參数SecPara; 3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全參数中的安全功能,发送请求认证命令Req_Auth ; 4)标签产生一个随机数Nt发送给读写器; 5)读写器用AK计算CNt= CRC (Nt I IAK),然后产生一个随机数N,,发送双向认证命令Mul_Auth (CNt, Nr); 6)标签用AK计算CNt’= CRC (Nt I IAK),比较CNt’和CNt,如果相等,标签认为读写器通过认证;否则标签认为读写器未通过认证,如果认证通过,标签用AK计算C凡=CRC (RNr I IAK)发送给读写器; 7)读写器用AK计算CNr,=CRC (Nr | AK),比较CNr,和CNr,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。
全文摘要
本发明公开了一种基于循环冗余校验码运算的无源射频识别安全认证方法,该方法为系统标签对读写器的单向认证和系统读写器对标签的单向认证、系统读写器与标签的双向认证,本发明采用无源RFID标签内置的16位CRC编码电路,利用CRC运算的单向函数特性保护认证密钥,避免了功耗较大的密码运算电路,成本低,功耗小,可实现性强,能满足中低等级无源RFID系统读写器和标签的安全认证需求。
文档编号G06K17/00GK102682311SQ201110155138
公开日2012年9月19日 申请日期2011年6月10日 优先权日2011年6月10日
发明者张琛, 李建成, 李聪, 杨青, 王宏义 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1