一种射频识别系统电子标签的安全读写方法
技术领域
本发明属于射频识别系统电子标签读写安全技术领域,尤其是一种射频识别系统电子标签的安全读写方法。
背景技术
射频电子标签是电子产品编码的物理载体,其附着于可跟踪的物品上,可全球流通并对其进行识别和读写,而其识别系统具有非接触、识别距离长、标签无需电源等优点,适于恶劣环境等优点,被广泛的使用在图书馆、门禁系统、食品安全溯源等领域中。
目前,RFID技术存在安全隐私的问题,由于射频识别系统采用通用的协议和标准,遵循相同的标准阅读器可以访问遵循相同标准的标签,在标签清点过程中,阅读器发出清点命令,标签返回随机数RN,阅读器再用此随机数指定标签清点,标签返回产品电子编码(EPC),之后阅读器发送读标签身份码(TID)命令,标签返回TID数据。
现有的安全方法是在电子标签的用户区进行加密,而EPC区不能加密,只要有清点命令就能返回EPC编码,在私有性要求较高的应用环境中,对于敏感物品,系统外的非法阅读器只要读出EPC或者TID编码,根据EPC编码或TID就能识别到敏感物品,这样会存在安全隐患,会使系统外的阅读器未经授权地使用标签数据,使数据资产所有者的权益受到侵害。
目前对于这一问题的解决方法是EPC区不存储有效、敏感信息,所有标签采用相同的或共用少量几个EPC,如果要获取标签的有效信息则需要根据目前得到的EPC计算出访问密码,通过访问密码读取数据区内容。这一方法带来的问题有,阅读器和标签的EPC交互携带的有效信息很少或没有,浪费了EPC交互的时间,降低了系统的数据获取效率;同时由于EPC的有效数据量少,使得通过EPC计算的一卡一密的方法退化为多卡一密或只有一个密码。降低了系统的安全性能。
发明内容
本发明的目的在于克服现有技术的不足,提供根据安全区设置扰码安全状态标志位而采用不同处理方式的一种射频识别系统电子标签的安全读写方法。
本发明采取的技术方案是:
一种射频识别系统电子标签的安全读写方法,其特征在于:包括以下步骤:
⑴在标签内设置标签是否处于扰码安全状态的标志位;
⑵阅读器发出清点指令,标签读取标志位:
当标志位是未启用时,阅读器按常规方法进行标签的操作;
当标志位是启用时,标签对产品电子编码进行扰码,扰码后的产品电子编码返回到阅读器内,阅读器进行解扰,得到正确的产品电子编码;
⑶阅读器访问标签身份码,标签判断读取方法:
当使用通用命令时,标签返回全部为零的标签身份码;
当使用专用命令但未携带正确产品电子编码时,标签返回全部为零的标签身份码;
当使用专用命令且携带正确产品电子编码时,标签返回正确的标签身份码;
通用命令是指不携带产品电子编码信息的常规操作指令,专用命令是携带产品电子编码信息的定制化操作指令;
⑷阅读器通过获取的正确的产品电子编码和标签身份码计算出访问密码,标签进入安全状态,阅读器进行标签数据的读写操作。
而且,步骤⑵所述扰码后的产品电子编码经过校验后返回到阅读器内。
本发明的优点和积极效果是:
本发明中,在安全区内设置一是否启用扰码安全状态的标志位,标签根据标志位来判断是否对产品电子编码进行扰码处理,阅读器采用相应的操作,而且在后期读取标签身份码的时候也要携带解扰后的正确的产品电子编码或者根据正确的产品电子编码及标签身份码计算出的密码,由此使标签不能被随意跟踪,保证了标签信息的隐蔽性,避免了非授权的阅读器简单的进行产品电子编码和标签身份码关联的应用,提高了安全性,保护了数据资产的私有性。
附图说明
图1为产品电子编码动态扰码方法示意图;
图2为伪随机序列M生成方法示意图;
图3为产品电子编码恢复方法示意图;
图4为实施例1的产品电子编码扰码数据波形的示意图;
图5为另一种扰码方法中移位扰码随机数的生成方法示意图;
图6为另一种扰码方法的示意图。
具体实施方式
下面结合实施例,对本发明进一步说明,下述实施例是说明性的,不是限定性的,不能以下述实施例来限定本发明的保护范围。
一种射频识别系统电子标签的安全读写方法,本发明的创新在于:包括以下步骤:
⑴在标签内设置标签是否处于扰码安全状态的标志位;
一般将标志位设置在安全区(RFU区),安全区具有只写的特点,因此不能将此设置回读,提高了状态设置的隐蔽性。
⑵阅读器发出清点指令,标签读取标志位:
当标志位是未启用时,标签可以完全兼容现有的阅读器,阅读器按常规方法进行标签的正常清点、读写等操作;
当标志位是启用时,标签对产品电子编码进行扰码,扰码后的产品电子编码返回到阅读器内,阅读器进行解扰,得到正确的产品电子编码;
每次扰码后的结果均不一样,而且使随机的,避免了未授权阅读器根据EPC编码数据来唯一绑定标签信息,同时授权的阅读器通过扰码规则可以去扰处理恢复出有效的EPC编码数据,这样就可以在开放状态通过专有命令读取TID数据,或依EPC原码计算标签访问密码;
标签返回的产品电子编码之后的CRC校验数据不参与扰码,也就是说CRC数据是在产品电子编码数据扰码之后计算出来的,具体是:CRC校验的生成过程中,首先是将原始的产品电子编码数据和扰码数据进行扰码,得到扰码后的产品电子数据,再将扰码后的产品电子编码数据进行CRC校验得到CRC校验值,标签实际发送的数据为扰码后的产品电子编码数据和CRC校验值。这样优点在于,阅读器可以先判断CRC校验再进行扰码数据恢复,数据恢复的过程可以在安全级别更高的安全芯片或安全模块内进行,保护的扰码算法和密钥的安全。
⑶阅读器访问标签身份码,标签判断读取方法:
当使用通用命令时,标签返回全部为零的标签身份码;
当使用专用命令但未携带正确产品电子编码时,标签返回全部为零的标签身份码;
当使用专用命令且携带正确产品电子编码时,标签返回正确的标签身份码;
通用命令是指不携带产品电子编码信息的常规操作指令,专用命令是携带产品电子编
码信息的定制化操作指令;
⑷阅读器通过获取的正确的产品电子编码和标签身份码计算出访问密码,标签进入安全状态,阅读器进行标签数据的读写操作。
实施例1
EPC扰码时包括标签EPC编码数据101,M序列生成器102、103,加扰异或模块104和加扰后输出数据105。
如图1所示:
电子标签的EPC编码数据101,存贮了系统写入的标签识别码EPC编码,在送出EPC时,存储的EPC编码每节拍一个数据连续输出。如图4串行输出EPC编码数据(401)所示,此时的数据是未加扰的。
M序列生成器102、103的实现结构如图2所示,图2演示了一个生成多项式为X15+X14+1的M序列的移位异或结构,可以看到M序列生成器由移位寄存器组201,异或模块202,初始化寄存器203组成。
其中初始化寄存器203的初始化数据由随机数RN和扰码初始值I(204)异或产生。M序列输出点(205)取自异或模块202的异或结果。
可以采用一个或多个M序列生成器,将各个M序列生成的伪随机数进行异或、相加、相减、或其它运算,再与EPC编码进行扰码。采用多个不同阶数和不同生成多项式的M序列生成器可以提高伪随机序列的抗分析能力。
生成的动态EPC在阅读器上通过类似的过程可以将原始的EPC编码数据恢复出来,如图3所示。M序列生成器302、303生成的M序列与收到的动态EPC编码数据301异或,恢复为原始的EPC数据305,完成EPC编码数据恢复。
具体的示例是:
电子标签的EPC编码数据101中存储的EPC编码数据为0123FF00FF00FF00FF001234h,EPC编码长度为96位。
采用两个M序列生成器M1和M2,M1、M2的序列初始值为3678h和D431h,M1的生成多项式为X15+X14+1,M2的生成多项式为X15+X1+1。
当随机数RN为5566h时:
图4中,EPC编码未加扰的数据波形为401(0123FF00FF00FF00FF001234h);M1生成的伪随机序列波形为402(2522DECEC6A697D770F3222Ah);M2生成的伪随机序列波形为403(FE65577334BBB1A5BD8DADEDh);将401与402,403异或,加扰后的动态EPC编码波形为404(DA6476BD0D1DD972327E9DF3h);阅读器将收到的扰码EPC与伪随机序列异或,恢复出正常的EPC编码数据405(0123FF00FF00FF00FF001234h)。
当随机数为2345h时:
生成的伪随机序列M1=BF47839109663754B3FBA819h,M2=5A58D8DEDED6D6C936E3B685h,加扰后的数据为E43CA44F28B01E9D7A180CA8h,阅读器通过同样的方法能恢复出EPC数据0123FF00FF00FF00FF001234h。
实施例2
EPC扰码时如图5、6所示,包括以下步骤:
⑴在标签安全区内预存储扰码因子和掩码控制数,该两个参数只有在安全状态下才可读取或改写;所述扰码因子K的取值如图5的101所示,为4位二进制数;掩码控制数M的取值如图6的201所示,为16位二进制数。
⑵标签根据阅读器的清点指令,返回随机数,该随机数为阅读器和标签共享的扰码随机数;扰码随机数N的取值如图1的102所示,为16位二进制数。
⑶标签中的扰码随机数N按照扰码因子K的取值进行向左循环移位,得到如图5的103所示的移位扰码随机数N’;
上述向左循环移位如图5所示,步骤是:
①将扰码因子K二进制数换算为十进制,记为L;
②从扰码随机数N中读取第L位的数值,将其作为移位扰码随机数N’的第1位,L-1位为移位扰码随机数N’的最后一位,其余位的数值依次向左移位;
当L=0时,扰码随机数N不变;当L=15时,扰码随机数N最后一位移动到首位,原首位至倒数第二末位依次向右移动;
③完成循环移位后得到移位扰码随机数N’。
⑷将多个移位扰码随机N’数依次排列后生成扰码随机序列;
所述的扰码随机序列生成的步骤是:将16个移位扰码随机数N’依次排列,生成一个16字的如图6的203所示的扰码随机序列。
⑸按照掩码控制数M的取值,生成如图6的202所示的掩码控制序列;
所述的掩码控制序列为一16字的序列,每一个字的取值是:掩码控制数某位取值为1时,掩码控制序列对应位置的字的取值为1111111111111111;掩码控制数某位取值为0时,掩码控制序列对应位置的字的取值为0000000000000000。
⑹将掩码控制序列和扰码随机序列进行与计算,结果再与产品电子编码进行异或运算,计算结果输出到阅读器,完成产品电子编码的扰码。
具体示例1
扰码随机数N:N=1110001110011000=E398H
扰码因子K:K=00000110=6
移位扰码随机数N':N'=1110011000111000=E638H
掩码控制数M(用16进制表示):FCFFH(二进制:1111110011111111)
掩码控制序列(用16进制表示):
FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH
扰码随机序列:
E638E638E638E638E638E638E638E638E638E638E638E638E638E638E638E638H
EPC码长度为16个字时(用16进制表示):
1111222322231111111122232223111111112223222311111111222322231111H
相与结果:
E638E638E638E638E638E63800000000E638E638E638E638E638E638E638E638H
异或结果:
F729C41BC41BF729F729C41B22231111F729C41BC41BF729F729C41BC41BF729H
CRC计算结果(CRC16生成多项式为X16+X12+X5+1,寄存器初始值为FFFFH):C152H
具体示例2
扰码随机数N:N=1110001110011000=E398H
扰码因子K:K=00000110=6
移位扰码随机数N':N'=1110011000111000=E638H
掩码控制数M(用16进制表示):FCFFH(二进制:1111110011111111)
掩码控制序列(用16进制表示):
FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFH
扰码随机序列:
E638E638E638E638E638E638E638E638E638E638E638E638E638E638E638E638H
EPC码长度为2个字时(用16进制表示):11112223H
相与结果:E638E638H
异或结果:F729C41BH
CRC计算结果:D4C2H
上述两个示例中,阅读器按照规则处理扰码后的EPC数据,得到解扰后的正确EPC数据。
本发明中,在安全区内设置一是否启用扰码安全状态的标志位,标签根据标志位来判断是否对产品电子编码进行扰码处理,阅读器采用相应的操作,而且在后期读取标签身份码的时候也要携带解扰后的正确的产品电子编码或者根据正确的产品电子编码及标签身份码计算出的密码,由此使标签不能被随意跟踪,保证了标签信息的隐蔽性,避免了非授权的阅读器简单的进行产品电子编码和标签身份码关联的应用,提高了安全性,保护了数据资产的私有性。