超高频模组与PDA的双向认证方法及相关设备转让专利

申请号 : CN202211029320.0

文献号 : CN115118527B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁甲昌邓木荣李玉惠李德光李吉

申请人 : 深圳市成为信息股份有限公司

摘要 :

本申请公开了一种超高频模组与PDA的双向认证方法,该方法包括:当处于密文确认状态时,超高频模组从个人数字助理PDA接收随机数生成指令;超高频模组根据随机数生成指令生成第一随机数,第一随机数与IMEI码具有相同的字节长度;超高频模组向PDA发送第一随机数,并根据第一随机数与IMEI码生成第一密文;超高频模组从PDA接收第二密文,并确定第一密文与第二密文是否相同;若超高频模组确定第一密文与第二密文相同,则超高频模组退出密文确认状态,进入正常工作状态。超高频模组进入正常工作状态之后不用在通信过程中再携带冗余信息。超高频模组与该PDA进行双向认证之后进行通信能够保证通信安全性。

权利要求 :

1.一种超高频模组与PDA的双向认证方法,其特征在于,所述方法包括:

当处于密文确认状态时,超高频模组从个人数字助理PDA接收随机数生成指令,所述超高频模组配置有所述PDA的国际移动设备身份IMEI码;

所述超高频模组根据所述随机数生成指令生成第一随机数,所述第一随机数与所述IMEI码具有相同的字节长度;

所述超高频模组向所述PDA发送所述第一随机数,并根据所述第一随机数与所述IMEI码生成第一密文;

所述超高频模组从所述PDA接收第二密文,并确定所述第一密文与所述第二密文是否相同;

若所述超高频模组确定所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态;所述根据所述第一随机数与所述IMEI码生成第一密文具体包括:将所述第一随机数与所述IMEI码进行第一逻辑运算处理,以得到第一逻辑运算结果,所述第一逻辑运算结果与所述IMEI码具有相同的字节长度;

对所述第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组,其中,n为所述IMEI码的字节长度;

确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数;

对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第一密文;所述比特位的提取过程中具有预先设定的起始位参数Adr_Index和提取位数参数BitN,其中,1≤Adr_Index≤8,且1≤Adr_Index+BitN≤9,所述对所述第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体包括:步骤S10:获取所述第一逻辑运算结果的第i个字节,并将所述第i个字节转换成8个比特位,其中,1≤i≤n;

步骤S11:获取所述第i个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成所述第i个字节的提取比特位数组;

步骤S12:依次对i赋值1至n,并轮询步骤S10至步骤S11,以获取n个提取比特位数组。

2.根据权利要求1所述的超高频模组与PDA的双向认证方法,其特征在于,所述确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数具体包括:对所述n个提取比特位数组中的每个提取比特位数组进行按位填充,以获得n个8位比特数据;

对所述n个8位比特数据中的每个8位比特数据针对设定数字进行求余数计算,以得到n个索引序列数;

所述对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第一密文具体包括:步骤S20:获取所述第一随机数中的第j个字节,以及所述n个索引序列数中的第j个索引序列数nj,其中,1≤j≤n;

步骤S21:将所述第一随机数中的第j个字节,循环左移或者循环右移nj位,以构成所述第一密文的第j个字节;

步骤S22:依次对j赋值1至n,并轮询步骤S20至步骤S21,以获取所述第一密文的n个字节,并将所述第一密文的n个字节拼接成所述第一密文。

3.一种超高频模组与PDA的双向认证方法,其特征在于,所述方法包括:

个人数字助理PDA向超高频模组发送随机数生成指令,以指示所述超高频模组生成第一随机数;

所述PDA从所述超高频模组接收第一随机数,所述第一随机数与所述PDA的国际移动设备身份IMEI码具有相同的字节长度;

所述PDA根据所述第一随机数与所述IMEI码生成第二密文,并向所述超高频模组发送所述第二密文,以指示所述超高频模组确定第一密文与所述第二密文是否相同,若所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态,所述第一密文是所述超高频模组生成的;所述PDA根据所述第一随机数与所述IMEI码生成第二密文具体包括:将所述第一随机数与所述IMEI码进行第二逻辑运算处理,以得到第二逻辑运算结果,所述第二逻辑运算结果与所述IMEI码具有相同的字节长度;

对所述第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组,其中,n为所述IMEI码的字节长度;

确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数;

对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第二密文;所述比特位的提取过程中具有预先设定的起始位参数Adr_Andex和提取位数参数BatN,其中,1≤Adr_Andex≤8,且1≤Adr_Andex+BatN≤9,所述对所述第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体包括:步骤S30:获取所述第二逻辑运算结果的第a个字节,并将所述第a个字节转换成8个比特位,其中,1≤a≤n;

步骤S31:获取所述第a个字节的8个比特位中,从第Adr_Andex位起,至第Adr_Andex+BatN‑1位止的BatN个比特位,以构成所述第a个字节的提取比特位数组;

步骤S32:依次对a赋值1至n,并轮询步骤S30至步骤S31,以获取n个提取比特位数组。

4.根据权利要求3所述的超高频模组与PDA的双向认证方法,其特征在于,所述确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数具体包括:对所述n个提取比特位数组中的每个提取比特位数组进行按位填充,以获得n个8位比特数据;

对所述n个8位比特数据中的每个8位比特数据提取比特位针对设定数字进行求余数计算,以得到n个索引序列数;

所述对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第二密文具体包括:步骤S40:获取所述第一随机数中的第b个字节,以及所述n个索引序列数中的第b个索引序列数nb,其中,1≤b≤n;

步骤S41:将所述第一随机数中的第b个字节,循环左移或者循环右移nb位,以构成所述第二密文的第b个字节;

步骤S42:依次对b赋值1至n,并轮询步骤S40至步骤S41,以获取所述第二密文的n个字节,并将所述第二密文的n个字节拼接成所述第二密文。

5.一种超高频模组,其特征在于,所述超高频模组包括处理器、存储器、通信接口,所述存储器中存储有程序指令,当所述程序指令被所述处理器执行时,以实现如权利要求1至2中任意一项所述的超高频模组与PDA的双向认证方法。

6.一种个人数字助理PDA,其特征在于,所述PDA包括处理器、存储器、通信接口,所述存储器中存储有程序指令,当所述程序指令被所述处理器执行时,以实现如权利要求3至4中任意一项所述的超高频模组与PDA的双向认证方法。

说明书 :

超高频模组与PDA的双向认证方法及相关设备

技术领域

[0001] 本申请涉及射频识别技术领域,具体涉及一种超高频模组与个人数字助理(public digital assistant,PDA)的双向认证方法及相关设备。

背景技术

[0002] 射频识别(Radio Frequency Identification,RFID)是一种自动识别技术,是构建物联网的关键技术。RFID系统主要由读写器和应答器构成。应答器主要由天线、耦合元件及芯片组成,一般来说用标签作为应答器,每个标签具有唯一的电子产品编码(electronic product code,EPC)以及唯一的标签标识符(tag identifier,TID),附着在物体上标识目标对象。读写器,或称为阅读器,主要由天线、耦合元件及芯片组成,是读取和/或写入标签信息的设备,可设计为可移动的手持设备或固定设备。该手持式设备或固定设备可以由PDA设备与超高频模组组成。
[0003] 随着超高频(ultra high frequency,UHF)RFID的高速发展,应用范围越来越广泛。有一些涉及到军用和安全领域。不同的设备中包含的超高频模组对标签的访问功能可能不一样,但是非法人员可能会将该超高频模组从设备中拆卸后,对该超高频模组中的数据进行监控获取。或者把设备上的超高频模组拆卸下来之后,与其他设备PDA设备进行对接,以使得该超高频模组的数据安全性被破坏。
[0004] 目前的PDA设备与超高频模组一般采用通用异步收发传输器(universal asynchronous receiver transmitter,UART)接口进行数据传输。为了保证超高频模组只能在固定的PDA设备上运行,目前的做法是,在超高频模组和PDA设备上都配置有相同的地址。在PDA设备与超高频模组的通讯协议中加上该相同的地址。该超高频模组在收到该地址之后,可以判断该收到的地址与自身配置的地址是否相同。当相同时,则进行数据的接收和处理。若不同,则不会处理。这样可以避免该超高频模组被随意调换之后无法进行正常工作,在一定程度上实现安全性。这样每一次通信过程中,都需要携带该相同的地址,造成通信过程中的信息冗余。

发明内容

[0005] 本申请实施例提供一种超高频模组与PDA的双向认证方法及相关设备,能够在该超高频模组与PDA正常通信之前对该超高频模组与PDA进行双向认证,从而能够减少甚至消除两者通信的安全风险。
[0006] 有鉴于此,本申请第一方面提供了一种超高频模组与PDA的双向认证方法,该方法包括:当处于密文确认状态时,超高频模组从个人数字助理PDA接收随机数生成指令,所述超高频模组配置有所述PDA的国际移动设备身份(international mobile equipment identity,IMEI)码;所述超高频模组根据所述随机数生成指令生成第一随机数,所述第一随机数与所述IMEI码具有相同的字节长度;所述超高频模组向所述PDA发送所述第一随机数,并根据所述第一随机数与所述IMEI码生成第一密文;所述超高频模组从所述PDA接收第二密文,并确定所述第一密文与所述第二密文是否相同;若所述超高频模组确定所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态。
[0007] 每个PDA具有唯一确定的IMEI码,该超高频模组可以先生成第一随机数,再将该第一随机数发送至该PDA,该PDA可以基于该第一随机数与自身的IMEI码生成第二密文,该超高频模组可以基于该第一随机数与预先配置在该超高频模组中的该PDA的IMEI码生成第一密文。该超高频模组在从该PDA接收到该第二密文之后,可以将该第二密文与该第一密文进行对比。若确认该第一密文与该第二密文相同时,该超高频模组可以退出密文确认状态,进入正常工作状态,则该超高频模组与该PDA完成双向认证,进入正常工作状态。该超高频模组进入正常工作状态之后与该PDA能够完成通信,而不用再在通信过程中再携带冗余信息。而该超高频模组每一次上电都会自动进入密文确认状态,则会对超高频模组与该PDA进行双向认证,这样同时能够保证通信安全性。
[0008] 可选的,结合第一方面,在一种可能的实现方式中,所述超高频模组根据所述随机数生成指令生成第一随机数具体包括:所述超高频模组调用设定次数的rand函数,其中,每一次调用所述rand函数获得4个字节的随机数;将调用设定次数的rand函数获得的随机数进行拼接,并根据拼接后的随机数确定所述第一随机数。这样可以通过该rand函数每次获得4个字节的随机数,逐步拼接起来可以确定该第一随机数。
[0009] 可选的,结合第一方面,在一种可能的实现方式中,所述根据所述第一随机数与所述IMEI码生成第一密文具体包括:将所述第一随机数与所述IMEI码进行第一逻辑运算处理,以得到第一逻辑运算结果,所述第一逻辑运算结果与所述IMEI码具有相同的字节长度;对所述第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组,其中,n为所述IMEI码的字节长度;确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数;对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第一密文。通过这样的方式,该超高频模组可以生成该第一密文。具体的,该超高频模组生成的第一逻辑运算结果与该IMEI码具有相同的字节长度。进一步对该第一逻辑运算结果的每个比特位提取,这样可以得到n个提取比特位数组。并以此根据该n个提取比特位数组确定的n个索引序列数,再按照该n个索引数进行循环移位。从而可以生成该第一密文。
[0010] 可选的,结合第一方面,在一种可能的实现方式中,所述比特位的提取过程中具有预先设定的起始位参数Adr_Index和提取位数参数BitN,其中,1≤Adr_Index≤8,且1≤Adr_Index+BitN≤9,所述对所述第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体包括:步骤S10:获取所述第一逻辑运算结果的第i个字节,并将所述第i个字节转换成8个比特位,其中,1≤i≤n;步骤S11:获取所述第i个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成所述第i个字节的提取比特位数组;步骤S12:依次对i赋值1至n,并轮询步骤S10至步骤S11,以获取n个提取比特位数组。通过这样的方式可以生成n个提取比特位数组。
[0011] 可选的,结合第一方面,在一种可能的实现方式中,所述确定所述n个提取比特位数组中的每个提取比特位数组向对应的索引序列数,以获取n个索引序列数具体包括:对所述n个提取比特位数组中的每个提取比特位数组进行按位填充,以获得n个8位比特数据;对所述n个8位比特数据中的每个8位比特数据针对设定数字进行求余数计算,以得到n个索引序列数;所述对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第一密文具体包括:步骤S20:获取所述第一随机数中的第j个字节,以及所述n个索引序列数中的第j个索引序列数nj,其中,1≤j≤n;步骤S21:将所述第一随机数中的第j个字节,循环左移或者循环右移nj位,以构成所述第一密文的第j个字节;步骤S22:依次对j赋值1至n,并轮询步骤S20至步骤S21,以获取所述第一密文的n个字节,并将所述第一密文的n个字节拼接成所述第一密文。通过这样的方式,可以根据该n个索引数分别对该第一个随机数中的第j个字节循环移位,从而可以构成该第一密文的第j个字节。可以依次确定该第一密文的每一个字节。
[0012] 本申请第二方面提供了一种超高频模组与PDA的双向认证方法,该方法包括:个人数字助理PDA向超高频模组发送随机数生成指令,以指示所述超高频模组生成第一随机数;所述PDA从所述超高频模组接收第一随机数,所述第一随机数与所述PDA的国际移动设备身份IMEI码具有相同的字节长度;所述PDA根据所述第一随机数与所述IMEI码生成第二密文,并向所述超高频模组发送所述第二密文,以指示所述超高频模组确定第一密文与所述第二密文是否相同,若所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态,所述第一密文是所述超高频模组生成的。
[0013] 可选的,结合第二方面,在一种可能的实现方式中,所述PDA根据所述第一随机数与所述IMEI码生成第二密文具体包括:将所述第一随机数与所述IMEI码进行第二逻辑运算处理,以得到第二逻辑运算结果,所述第二逻辑运算结果与所述IMEI码具有相同的字节长度;对所述第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组,其中,n为所述IMEI码的字节长度;确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数;对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第二密文。
[0014] 可选的,结合第二方面,在一种可能的实现方式中,所述比特位的提取过程中具有预先设定的起始位参数Adr_Andex和提取位数参数BatN,其中,1≤Adr_Andex≤8,且1≤Adr_Andex+BatN≤9,所述对所述第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体包括:步骤S30:获取所述第二逻辑运算结果的第a个字节,并将所述第a个字节转换成8个比特位,其中,1≤a≤n;步骤S31:获取所述第a个字节的8个比特位中,从第Adr_Andex位起,至第Adr_Andex+BatN‑1位止的BatN个比特位,以构成所述第a个字节的提取比特位数组;步骤S32:依次对a赋值1至n,并轮询步骤S30至步骤S31,以获取n个提取比特位数组。
[0015] 可选的,结合第二方面,在一种可能的实现方式中,所述确定所述n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数具体包括:对所述n个提取比特位数组中的每个提取比特位数组进行按位填充,以获得n个8位比特数据;对所述n个8位比特数据中的每个8位比特数据提取比特位针对设定数字进行求余数计算,以得到n个索引序列数;所述对所述第一随机数中的每个字节,依次按照所述n个索引序列数中的每个索引序列数进行循环移位,以得到所述第二密文具体包括:步骤S40:获取所述第一随机数中的第b个字节,以及所述n个索引序列数中的第b个索引序列数nb,其中,1≤b≤n;步骤S41:将所述第一随机数中的第b个字节,循环左移或者循环右移nb位,以构成所述第二密文的第b个字节;步骤S42:依次对b赋值1至n,并轮询步骤S40至步骤S41,以获取所述第二密文的n个字节,并将所述第二密文的n个字节拼接成所述第二密文。
[0016] 本申请第三方面提供了一种超高频模组,所述超高频模组包括处理器、存储器、通信接口,所述存储器中存储有程序指令,当所述程序指令被所述处理器执行时,以实现如本申请第一方面至第一方面中任意一种可能的实现方式中所述的超高频模组与PDA的双向认证方法。
[0017] 本申请第四方面提供了一种个人数字助理PDA,包括处理器、存储器、通信接口,所述存储器中存储有程序指令,当所述程序指令被所述处理器执行时,以实现如本申请第二方面至第二方面的任意一种可能的实现方式中所述的超高频模组与PDA的双向认证方法。
[0018] 本申请提供了一种超高频模组与PDA的双向认证方法,该方法包括:当处于密文确认状态时,超高频模组从个人数字助理PDA接收随机数生成指令,所述超高频模组配置有所述PDA的国际移动设备身份IMEI码;所述超高频模组根据所述随机数生成指令生成第一随机数,所述第一随机数与所述IMEI码具有相同的字节长度;所述超高频模组向所述PDA发送所述第一随机数,并根据所述第一随机数与所述IMEI码生成第一密文;所述超高频模组从所述PDA接收第二密文,并确定所述第一密文与所述第二密文是否相同;若所述超高频模组确定所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态。
[0019] 每个PDA具有唯一确定的IMEI码,该超高频模组可以先生成第一随机数,再将该第一随机数发送至该PDA,该PDA可以基于该第一随机数与自身的IMEI码生成第二密文,该超高频模组可以基于该第一随机数与预先配置在该超高频模组中的该PDA的IMEI码生成第一密文。该超高频模组在从该PDA接收到该第二密文之后,可以将该第二密文与该第一密文进行对比。若确认该第一密文与该第二密文相同时,该超高频模组可以退出密文确认状态,进入正常工作状态,则该超高频模组与该PDA完成双向认证,进入正常工作状态。该超高频模组进入正常工作状态之后与该PDA能够完成通信,而不用再在通信过程中再携带冗余信息。而该超高频模组每一次上电都会自动进入密文确认状态,则会对超高频模组与该PDA进行双向认证,这样同时能够保证通信安全性。
[0020] 本申请通过该超高频模组与PDA的双向认证的方式,可以使得超高频模组只能与经过认证之后的PDA进行通信,该超高频模组无法应用于未经过双向认证的PDA,该PDA也无法应用于未经过双向认证的超高频模组。该超高频模组或者PDA被单独拆卸下来也无法正常进行使用,从而可以有效地实现超高频模组的数据安全性,以及该超高频模组对标签授权操作的安全性。

附图说明

[0021] 为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0022] 图1是本申请实施例提供的一种UHF手持终端的标签盘点场景图;
[0023] 图2是本申请实施例提供的一种超高频模组与PDA的装配示意图;
[0024] 图3是本申请实施例提供的一种超高频模组与PDA的双向认证方法的一个实施例流程示意图;
[0025] 图4是本申请实施例提供的一种超高频模组根据第一随机数与IMEI码生成第一密文的具体方法流程图;
[0026] 图5是本申请实施例提供的一种超高频模组对第一逻辑运算结果的每个字节进行比特位提取的具体方法流程图;
[0027] 图6是本申请实施例提供的一种超高频模组按照n个索引序列数中的每个索引序列数进行循环移位得到所述第一密文的方法流程图;
[0028] 图7是本申请实施例提供的一种超高频模组与PDA的双向认证方法的另一个实施例流程示意图;
[0029] 图8是本申请实施例提供的一种PDA根据所述第一随机数与IMEI码生成第二密文的方法流程图;
[0030] 图9是本申请实施例提供的一种PDA对第二逻辑运算结果的每个字节进行比特位的提取的具体方法流程图;
[0031] 图10是本申请实施例提供的一种PDA按照n个索引序列数中的每个索引序列数进行循环移位得到所述第二密文的方法流程图;
[0032] 图11是本申请实施例提供的一种超高频模组的结构示意图;
[0033] 图12是本申请实施例提供的一种PDA的结构示意图。

具体实施方式

[0034] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0035] 本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0036] 在本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a、b和c可以是单个,也可以是多个。值得注意的是,“至少一项(个)”还可以解释成“一项(个)或多项(个)”。
[0037] 需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0038] 本文中的标签,是指RFID标签、射频标签或电子标签,简称为标签(Tag)。本文中的UHF手持终端,也称为阅读器(Reader),可以是UHF读写器,该UHF手持终端中包含超高频模组与PDA。本申请实施例技术可用于物流、零售、服装等各种领域。
[0039] RFID标签可以分为低频(LF)、高频(HF)、超高频(UHF)和微波等不同种类。全球对超高频电子标签频段定义覆盖不尽相同,超高频射频识别技术(UHF‑RFID)具有能一次性读取多个标签、识别距离远、传送数据速度快,可靠性和寿命高、耐受户外恶劣环境等优点,可用于资产管理、生产线管理、供应链管理、仓储、各类物品防伪溯源(如烟草、酒类、医药等)、零售、车辆管理等等。
[0040] 请参见图1,图1提供了一个UHF手持终端的标签盘点场景图。图1中该UHF手持终端可能有大量的标签需要盘点,如图1所示,该UHF手持终端待盘点的标签可以包括一个或多个标签。
[0041] 参见图2,本申请提供了一种超高频模组与PDA的装配示意图,该超高频模组与PDA可以组装成一个UHF手持终端。该UHF手持终端由超高频模组1、PDA2,以及手柄3组成。其中,该PDA2与超高频模组1一般采用UART接口进行数据传输。该手柄3可以拆卸或不可拆卸,该手柄3中可以容置有电池。
[0042] 现有的方案中,为了保证超高频模组只能在固定的PDA上运行,目前的做法是,在超高频模组和PDA上都配置有相同的地址。在PDA与超高频模组的通讯协议中加上该相同的地址。该超高频模组在收到该地址之后,可以判断该收到的地址与自身配置的地址是否相同。当相同时,则进行数据的接收和处理。若不同,则不会处理。这样可以避免该超高频模组被随意调换之后无法进行正常工作,在一定程度上实现安全性。这样每一次通信过程中,都需要携带该相同的地址,造成通信过程中的信息冗余。
[0043] 所以,本申请提供了一种超高频模组与PDA的双向认证方法,请参见图3。本申请提供的超高频模组与PDA的双向认证方法包括:
[0044] S110、当处于密文确认状态时,超高频模组从PDA接收随机数生成指令。
[0045] 当超高频模组处于密文确认状态时,超高频模组从PDA接收随机数生成指令。需要说明的是,该超高频模组每一次上电时,进入该密文确认状态。在密文确认状态时,可以从该PDA接收随机数生成指令。
[0046] 需要说明的是,该超高频模组配置有该PDA的IMEI码。该IMEI码即为通常所说的手机序列号,或手机串号,用于在移动电话网络中识别每一部独立的手机等移动通信设备,相当于移动电话的身份证。序列号共有15至17位字节数,前8位是型号核准号码(早期为6位),是区分手机品牌和型号的编码。接着2位是最后装配号(仅在早期机型中存在),代表最终装配地代码。后6位是串号,代表生产顺序号。该IMEI码一般贴于机身背面与外包装上,同时也存在于手机存储器中。示例性的,本申请中以该IMEI码具有15个字节为例,但不限于此。
[0047] S120、超高频模组根据随机数生成指令生成第一随机数。
[0048] 该超高频模组根据该随机数生成指令生成第一随机数,该第一随机数与该IMEI码具有相同的字节数。该超高频模组可以多次调用设定的rand函数,其中,每一次调用该rand函数可以获得4个字节的随机数。再将调用设定次数的rand函数获得的随机数进行拼接,并根据拼接后的随机数确定该第一随机数。
[0049] 以该IMEI码为15个字节为例,则适应性地调用该rand函数4次,则将该4次调用rand函数确定的16个字节依次拼接起来,这样得到拼接后的随机数为16个字节,将最后一个字节去掉,则获取一个15个字节的数据,该15个字节的数据即为该第一随机数。若该IMEI码为16个字节,则直接调用该rand函数4次,即得到16个字节的数据,该16个字节的数据即为该第一随机数。该第一随机数的确定方式可以根据该IMEI码的字节数而预先设定,此处不做限制,仅使得该第一随机数的字节长度与该IMEI码的字节长度相同即可。
[0050] S130、超高频模组向PDA发送第一随机数。
[0051] 超高频模组向PDA发送该第一随机数。该第一随机数为步骤S120中生成的。
[0052] 与之对应的是,该PDA从该超高频模组接收该第一随机数。
[0053] S140、超高频模组根据第一随机数与IMEI码生成第一密文。
[0054] 超高频模组根据第一随机数与IMEI码生成第一密文。其中,该第一密文的字节长度与该IMEI码相同。
[0055] 需要说明的是,该超高频模组根据第一随机数与IMEI码生成第一密文的方式在本申请中并不限制,仅需保证该超高频模组与该PDA生成密文的方式一致均可。示例性的,可以该超高频模组生成第一密文的方式可以与该PDA生成第二密文的方式均为对该第一随机数与IMEI码按字节进行逻辑运算,每一个字节获得一个运算结果,则可以获得一个与该IMEI码字节长度相同的第一密文。该逻辑运算可以包括但不限于与、或、非,和或、异或等。此处仅为实例,并不能作为本申请的限制。
[0056] S150、超高频模组从PDA接收第二密文。
[0057] 超高频模组从PDA接收第二密文。该第二密文是该PDA根据该第一随机数与IMEI码生成的,且该第二密文与该IMEI码具有相同的字节长度。
[0058] S160、超高频模组确定第一密文与第二密文是否相同。
[0059] 超高频模组在从该PDA接收到第二密文之后,该超高频模组确定自身生成的第一密文与该第二密文是否相同。
[0060] S170、若超高频模组确定第一密文与第二密文相同,则超高频模组退出密文确认状态,进入正常工作状态。
[0061] 若该超高频模组确定该第一密文与该第二密文相同,则超高频模组退出密文确认状态,进入正常工作状态。
[0062] 本申请提供了一种超高频模组与PDA的双向认证方法,该方法包括:当处于密文确认状态时,超高频模组从个人数字助理PDA接收随机数生成指令,所述超高频模组配置有所述PDA的IMEI码;所述超高频模组根据所述随机数生成指令生成第一随机数,所述第一随机数与所述IMEI码具有相同的字节长度;所述超高频模组向所述PDA发送所述第一随机数,并根据所述第一随机数与所述IMEI码生成第一密文;所述超高频模组从所述PDA接收第二密文,并确定所述第一密文与所述第二密文是否相同;若所述超高频模组确定所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态。
[0063] 每个PDA具有唯一确定的IMEI码,该超高频模组可以先生成第一随机数,再将该第一随机数发送至该PDA,该PDA可以基于该第一随机数与自身的IMEI码生成第二密文,该超高频模组可以基于该第一随机数与预先配置在该超高频模组中的该PDA的IMEI码生成第一密文。该超高频模组在从该PDA接收到该第二密文之后,可以将该第二密文与该第一密文进行对比。若确认该第一密文与该第二密文相同时,该超高频模组可以退出密文确认状态,进入正常工作状态,则该超高频模组与该PDA完成双向认证,进入正常工作状态。该超高频模组进入正常工作状态之后与该PDA能够完成通信,而不用再在通信过程中再携带冗余信息。而该超高频模组每一次上电都会自动进入密文确认状态,则会对超高频模组与该PDA进行双向认证,这样同时能够保证通信安全性。
[0064] 本申请通过该超高频模组与PDA的双向认证的方式,可以使得超高频模组只能与经过认证之后的PDA进行通信,该超高频模组无法应用于未经过双向认证的PDA,该PDA也无法应用于未经过双向认证的超高频模组。该超高频模组或者PDA被单独拆卸下来也无法正常进行使用,从而可以有效地实现超高频模组的数据安全性,以及该超高频模组对标签授权操作的安全性。
[0065] 更具体的,本申请还提供了一种超高频模组根据第一随机数与IMEI码生成第一密文的具体方法。请参见图4。前述步骤S140具体包括:
[0066] S141、将第一随机数与IMEI码进行第一逻辑运算处理,以得到第一逻辑运算结果。
[0067] 超高频模组将第一随机数与IMEI码进行第一逻辑运算处理,以得到第一逻辑运算结果,其中,该第一逻辑运算结果与该IMEI码具有相同的字节长度。
[0068] 具体的,该第一逻辑运算可以为将该第一随机数与IMEI码按字节进行第一逻辑运算。该逻辑运算可以包括但不限于和、或、同或、异或等逻辑运算。本申请中以同或为例。同或的运算规则如下:
[0069] A B A⊙B1 0 0
0 1 0
1 1 1
0 0 1
[0070] 其中,A代表该第一随机数的字节,B代表IMEI码的字节,⊙为同或运算符。
[0071] 超高频模组将第一随机数与IMEI码进行第一逻辑运算处理,以得到第一逻辑运算结果具体包括:
[0072] 依次将该第一随机数的每个字节与该IMEI码相对应位数的字节进行第一逻辑运算,以得到每一位字节的逻辑运算结果,将每一位字节的逻辑运算结果拼接起来,以得到与该IMEI码相同字节长度的第一逻辑运算结果。示例性的,将该第一随机数的第一个字节,与该IMEI码的第一个字节进行该第一逻辑运算,以获得该第一逻辑运算结果的第一个字节;将该第一随机数的第二个字节,与该IMEI码的第二个字节进行该第一逻辑运算,以获得该第一逻辑运算结果的第二个字节……这样依次获取该第一逻辑运算结果的每一个字节,从而能够获得该第一逻辑运算结果。
[0073] S142、对第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组。
[0074] 超高频模组对第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组,其中,n为该IMEI码的字节长度。
[0075] 需要说明的是,该第一逻辑运算结果具有n个字节,其中的每个字节可以转换为8个比特位。对该第一运算结果中的每个字节进行比特位提取,每一个字节提取出一个比特位数组。则n个字节即可提取出n个提取比特位数组。
[0076] 需要说明的是,对该第一运算结果中的每个字节进行比特位提取的方式并不限制。示例性的,可以是获取每一个字节对应的8个比特位中的其中几个比特作为一个数组。例如,每个字节都获取8个比特位中的前4个比特位作为一个数组,或者,每个字节都获取8个比特位中的后4个比特位作为一个数组。此处仅为示例,并不能作为本申请的限制。在实际比特位提取的过程中还可以获取该8个比特位中任意几个连续或非连续的比特位作为一个数组。
[0077] 对该n个字节中的每个字节进行提取,每一个字节能够获取到一个提取比特位数组,从而可以获得n个提取比特位数组。而对于该n个字节中,每个字节提取比特位数组的方式可以相同,也可以不同,此处不做限制。例如,可以只对其中一部分字节提取对应8个比特位中的前4个比特位作为提取比特位数组,另一部分字节提取对应的8个比特位中的后4个比特位作为提取比特位数组。此处仅作为本申请的示例,并不能作为本申请的限制。
[0078] S143、确定n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数。
[0079] 超高频模组确定n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数。具体的,根据该每一个提取比特位数组确定一个相对应的索引序列数,则根据n个提取比特位数组可以确定n个索引序列数。
[0080] 更进一步的,根据该每一个提取比特位数组确定一个相对应的索引序列数,则根据n个提取比特位数组可以确定n个索引序列数具体可以包括:对所述n个提取比特位数组中的每个提取比特位数组进行按位填充,以获得n个8位比特数据;对所述n个8位比特数据中的每个8位比特数据针对设定数字进行求余数计算,以得到n个索引序列数。优选的,该设定数字可以为8,但不限于此。若该设定数字位8,则对8求余数计算即可以将该8位比特数据还原成一个字节数据。
[0081] 对所述n个提取比特位数组中的每个提取比特位数组进行按位填充具体可以包括:将该n个提取比特位数组中的每个提取比特位数组中的元素整体放置在8位比特位地址的高位或低位,或者将该n个提取比特位数组中的元素分散分布在该8位比特位地址上,然后将未填充数据的比特位地址上填充0,或填充1。该分散分布的方式不限定,可以一部分间隔分布,另一部分连续分布。
[0082] S144、对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第一密文。
[0083] 超高频模组对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,从而得到该第一密文。具体的,可以按照该n个索引序列数中的每个索引序列数对该第一随机数中的每个字节相应的8个比特位进行循环左移,或者循环右移,依次获得该第一随机数的每一个字节在循环移位后的字节,将该循环移位之后的字节拼接起来即为该第一密文。示例性的,若该第一个索引数为n1,即把第一随机数中的第一个字节相对应的8个比特位向左或向右循环移位n1位;若第二个索引数为n2,即把第一随机数中的第一个字节相对应的8个比特位向左或向右循环移位n2位……。这样依次可以将第一个随机数中的所有字节相对应的8个比特位循环移位,从而可以获得第一随机数的每个字节在循环移位之后的字节,从而可以获得该第一密文。
[0084] 需要说明的是,该循环移位的过程可以是对该第一随机数中的所有字节相对应的比特位全都向左循环移位,也可以是对该第一随机数中的所有字节相对应的比特位全都向右循环移位,还可以是对该第一随机数中部分字节对应的比特位向左循环移位,将另一部分字节对应的比特位向右循环移位。每一个字节向左循环移位或者向右循环移位的位数根据对应的索引数确定。
[0085] 需要说明的是,每一个字节具有8个比特位,对一个字节循环左移即为把该字节的8个比特位向左移动,且头部循环左移之后接入尾部。示例性的,若将该某个字节的8个比特位向左循环移动一位,则将该字节的8个比特位中第一个比特位数据移动至第八个比特位的位置,第二个比特位数据移动至第一个比特位的位置,第三个比特位数据移动至第二个比特位的位置……将第八个比特位数据移动至第七个比特位的位置。同理,对一个字节循环右移即为把该字节的8个比特位向右移动,且尾部循环右移之后接入头部,请参见循环左移进行理解,此处不再赘述。
[0086] 可以理解的是,这里是对该第一随机数中的每个字节按照该n个索引序列数中的每个索引序列数进行循环移位,从而得到第一密文。而不是对该IMEI码进行循环移位处理,这样可以提高最后获取到的第一密文的复杂度,从而能够提高本方案的安全性。但是在实际操作中,也可以是对该IMEI码进行循环移位处理。具体的,可以是对于该IMEI码中的每个字节按照该n个索引序列数中的每个索引序列数进行循环移位,从而得到该第一密文。
[0087] 请参见图5,对于步骤S142,在一个具体的实施方式中,该超高频模组对第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体可以包括:
[0088] S10、获取第一逻辑运算结果的第i个字节,并将第i个字节转换成8个比特位。
[0089] 超高频模组获取第一逻辑运算结果的第i个字节,并将第i个字节转换为8个比特位。其中,1≤i≤n,n为IMEI码的字节长度。如前所述,每个字节都可以转换成为8个比特位。
[0090] 比特位的提取过程中具有预先设定的起始位参数Adr_Index和提取位数参数BitN,其中,1≤Adr_Index≤8,且1≤Adr_Index+BitN≤9。该起始位参数Adr_Index与该提取位数参数BitN可以根据具体情况,或者根据不同的项目实施情况进行选择,此处不做限制。该提取位参数BitN可以为正数也可以为负数,即可以从低位向高位提取,也可以从高位向低位提取,此处不做限制。
[0091] S11、获取第i个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成第i个字节的提取比特位数组。
[0092] 超高频模组获取该第i个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成第i个字节的提取比特位数组。
[0093] 示例性的,以该起始位参数Adr_Index=3,提取位数参数BitN=4为例,即代表从字节的8位比特位的第3位地址开始,向高位提取4个比特位。
[0094] 例如,对值为0xB4(16进制)的一个字节进行前述提取的具体过程为:先将该字节转换为8个比特位,该8个比特位由高到低分别为:10110100,则获取从第3位起,至第6止的4个比特位为:1101。则从该字节构成的提取比特位数组为:1101。
[0095] S12、依次对i赋值1至n,并轮询步骤S10至S11,以获取n个提取比特位数组。
[0096] 超高频模组依次对i赋值1至n,并轮询步骤S10至S11,从而可以获取到n个提取比特位数组。
[0097] 需要说明的是,在获取到该n个提取比特位数组之后,可以对该n个提取比特位数组进行中的每一个提取比特位进行按位填充,从而获得n个8位比特数据,再对该n个8位比特数据中的每个8位比特数据针对设定数字进行求余数运算,从而获得n个索引序列数,具体请参见前述步骤S143进行理解,此处不再赘述。
[0098] 请参见图6。对于前述步骤S144,在一种具体的实现方式中,该超高频模组对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第一密文,可以具体包括:
[0099] S20、获取第一随机数中的第j个字节,以及n个索引序列数中的第j个索引序列数nj。
[0100] 获取第一随机数中的第j个字节,以及该n个索引序列数中的第j个索引序列数nj,其中,1≤j≤n。
[0101] S21、将第一随机数中的第j个字节,循环左移或者循环右移nj位,以构成第一密文的第j个字节。
[0102] 将第一随机数中的第j个字节,循环左移或者循环右移nj位,以构成第一密文的第j个字节。
[0103] 具体的,可以按照该n个索引序列数中的每个索引序列数对该第一随机数中的每个字节相应的8个比特位进行循环左移,或者循环右移,依次获得该第一随机数的每一个字节在循环移位后的字节,将该循环移位之后的字节拼接起来即为该第一密文。
[0104] 需要说明的是,该循环左移或者循环右移的过程可以是对该第一随机数中的所有字节相对应的比特位全都向左循环移位,也可以是对该第一随机数中的所有字节相对应的比特位全都向右循环移位,还可以是对该第一随机数中部分字节对应的比特位向左循环移位,将另一部分字节对应的比特位向右循环移位,此处不做限制。每一个字节向左循环移位或者向右循环移位的位数根据对应的索引数确定。
[0105] 可以理解的是,每一个字节具有8个比特位,对一个字节循环左移即为把该字节的8个比特位向左移动,且头部循环左移之后接入尾部。示例性的,若将该某个字节的8个比特位向左循环移动一位,则将该字节的8个比特位中第一个比特位数据移动至第八个比特位的位置,第二个比特位数据移动至第一个比特位的位置,第三个比特位数据移动至第二个比特位的位置……将第八个比特位数据移动至第七个比特位的位置。同理,对一个字节循环右移即为把该字节的8个比特位向右移动,且尾部循环右移之后接入头部,请参见循环左移进行理解,此处不再赘述。
[0106] S22、依次对j赋值1至n,并轮询步骤S20至步骤S21,以获取第一密文的n个字节,并将第一密文的n个字节拼接成第一密文。
[0107] 依次对j赋值1至n,并轮询步骤S20至步骤S21,以获取该第一密文的n个字节,并将第一密文的n个字节拼接成第一密文。
[0108] 由此,该超高频模组可以获得该第一密文。
[0109] 以上从超高频模组的角度说明了本申请提供的一种超高频模组与PDA的双向认证方法。以下从PDA的角度进行说明本申请提供的一种超高频模组与PDA的双向认证方法。请参见图7,本申请提供了一种超高频模组与PDA的双向认证方法,该方法包括:
[0110] S210、PDA向超高频模组发送随机数生成指令。
[0111] PDA向超高频模组发送随机数生成指令。需要说明的是,该超高频模组接收该随机数生成指令时,处于密文确认状态。详情请参见步骤S110进行理解,此处不再赘述。
[0112] S220、超高频模组根据随机数生成指令生成第一随机数。
[0113] 超高频模组根据随机数生成指令生成第一随机数。请参见步骤S120进行理解,此处不再赘述。
[0114] S230、PDA从超高频模组接收第一随机数。
[0115] PDA从超高频模组接收第一随机数。请参见步骤S130进行理解,此处不再赘述。
[0116] S240、PDA根据第一随机数与IMEI码生成第二密文。
[0117] PDA根据第一随机数与IMEI码生成第二密文。该PDA根据第一随机数与IMEI码生成第二密文的方式与该超高频模组生成第一密文的方式相同。具体请参见步骤S140进行理解,此处不再赘述。
[0118] S250、PDA向超高频模组发送第二密文。
[0119] PDA向超高频模组发送第二密文。该第二密文是在步骤S240中该PDA根据该第一随机数与自身的IMEI码生成的。可以参照步骤S150进行理解,此处不再赘述。
[0120] S260、超高频模组确定自身生成的第一密文与从PDA接收到的第二密文是否相同。
[0121] 超高频模组确定自身生成的第一密文与从PDA接收到的第二密文是否相同。请参见步骤S160进行理解,此处不再赘述。
[0122] S270、若超高频模组确定第一密文与第二密文相同,则超高频模组退出密文确认状态,进入正常工作状态。
[0123] 若超高频模组确定该第一密文与第二密文相同,则超高频模组退出密文确认状态,进入正常工作状态。请参见步骤S170进行理解,此处不再赘述。
[0124] 进一步的,本申请还提供了一种PDA根据第一随机数与IMEI码生成第二密文的具体方法。请参见图8,前述步骤S240具体包括:
[0125] S241、将第一随机数与IMEI码进行第二逻辑运算处理,以得到第二逻辑运算结果。
[0126] PDA将第一随机数与IMEI码进行第二逻辑运算处理,以得到第二逻辑运算结果。该PDA将第一随机数与IMEI码进行第二逻辑运算处理的过程与该超高频模组根据该第一随机数与IMEI码进行第一逻辑运算处理的过程相同,详情请参见步骤S141进行理解,此处不再赘述。
[0127] S242、对第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组。
[0128] PDA对第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组。该PDA对第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组的过程与该超高频模组对第一逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组相同的过程相同,详情请参见步骤S142进行理解,此处不再赘述。
[0129] S243、确定n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数。
[0130] PDA确定n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个所以序列数。该过程与超高频模组确定n个提取比特位数组中的每个提取比特位数组相对应的索引序列数,以获取n个索引序列数相同,详情请参见步骤S143进行理解,此处不再赘述。
[0131] S244、对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第二密文。
[0132] PDA对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第二密文。该过程与超高频模组对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第一密文的过程相同,详情请参见步骤S144进行理解,此处不再赘述。
[0133] 请参见图9。对于步骤S242,在一个具体的实施方式中,该PDA对第二逻辑运算结果的每个字节进行比特位的提取,以组成n个提取比特位数组具体可以包括:
[0134] S30、获取第二逻辑运算结果的第a个字节,并将第a个字节转换成8个比特位。
[0135] PDA获取第二逻辑运算结果的第a个字节,并将第a个字节转换成8个比特位。其中,1≤a≤n,n为IMEI码的字节长度。具体请参见步骤S10进行理解此处不再赘述。
[0136] S31、获取第a个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成第a个字节的提取比特位数组。
[0137] PDA获取第a个字节的8个比特位中,从第Adr_Index位起,至第Adr_Index+BitN‑1位止的BitN个比特位,以构成第a个字节的提取比特位数组。详情请参考步骤S11进行理解,此处不再赘述。
[0138] S32、依次对a赋值1至n,并轮询步骤S30至S31,以获取n个提取比特位数组。
[0139] PDA依次对a赋值1至n,并轮询步骤S30至S31,以获取 n个提取比特位数组。详情请参见步骤S12进行理解,此处不再赘述。
[0140] 请参见图10。对于前述步骤S244,在一种具体的实现方式中,该PDA对第一随机数中的每个字节,依次按照n个索引序列数中的每个索引序列数进行循环移位,以得到第二密文,可以具体包括:
[0141] S40、获取第一随机数中的第b个字节,以及n个索引序列数中的第b个索引序列数nb。
[0142] PDA获取第一随机数中的第b个字节,以及n个索引序列数中的第b个索引序列数nb。详情请参见步骤S20进行理解,此处不再赘述。
[0143] S41、将第一随机数中的第b个字节,循环左移或者循环右移nb位,以构成第二密文的第b个字节。
[0144] PDA将第一随机数中的第b个字节,循环左移或者循环右移nb位,以构成第二密文的第b个字节。详情请参见步骤S21进行理解,此处不再赘述。
[0145] S42、依次对b赋值1至n,并轮询步骤S40至步骤S41,以获取第二密文的n个字节,并将第一密文的n个字节拼接成第二密文。
[0146] PDA依次对b赋值1至n,并轮询步骤S40至步骤S41,以获取第二密文的n个字节,并将第一密文的n个字节拼接成第二密文。详情请参见步骤S22进行理解,此处不再赘述。
[0147] 本申请提供了一种超高频模组与PDA的双向认证方法,该方法包括:个人数字助理PDA向超高频模组发送随机数生成指令,以指示所述超高频模组根据生成第一随机数;所述PDA从所述超高频模组接收第一随机数,所述第一随机数与所述PDA的国际移动设备身份IMEI码具有相同的字节长度;所述PDA根据所述第一随机数与所述IMEI码生成第二密文,并向所述超高频模组发送所述第二密文,以指示所述超高频模组确定第一密文与所述第二密文是否相同,若所述第一密文与所述第二密文相同,则所述超高频模组退出密文确认状态,进入正常工作状态,所述第一密文是所述超高频模组生成的。
[0148] 每个PDA具有唯一确定的IMEI码,该PDA可以先从所述超高频模组接收第一随机数,该PDA可以基于该第一随机数与自身的IMEI码生成第二密文,该超高频模组可以基于该第一随机数与预先配置在该超高频模组中的该PDA的IMEI码生成第一密文。该超高频模组在从该PDA接收到该第二密文之后,可以将该第二密文与该第一密文进行对比。若确认该第一密文与该第二密文相同时,该超高频模组可以退出密文确认状态,进入正常工作状态,则该超高频模组与该PDA完成双向认证,进入正常工作状态。该超高频模组进入正常工作状态之后与该PDA能够完成通信,而不用再在通信过程中再携带冗余信息。而该超高频模组每一次上电都会自动进入密文确认状态,则会对超高频模组与该PDA进行双向认证,这样同时能够保证通信安全性。
[0149] 本申请通过该超高频模组与PDA的双向认证的方式,可以使得超高频模组只能与经过认证之后的PDA进行通信,该超高频模组无法应用于未经过双向认证的PDA,该PDA也无法应用于未经过双向认证的超高频模组。该超高频模组或者PDA被单独拆卸下来也无法正常进行使用,从而可以有效地实现超高频模组的数据安全性,以及该超高频模组对标签授权操作的安全性。
[0150] 以上分别从超高频模组和PDA两个方面陈述了本申请提供的一种超高频模组与PDA的双向认证方法。下面分别介绍超高频模组与PDA的内部构造。
[0151] 图11为本申请提供的一种超高频模组的结构示意图。如图11所示,该超高频模组50包括处理器501、存储器502和通信接口503,处理器501、存储器502和通信接口503可以通过总线504相连。
[0152] 可选的,上述处理器501可以是一个或多个中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application‑specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
[0153] 该处理器501,用于执行存储器502中的指令,执行上述应用于图3至图6所示的超高频模组与PDA的双向认证方法。该通信接口503,可以包含输入/输出(I/O)接口。
[0154] 存储器502、处理器501和通信接口503可以通过总线504相互连接,但不限于只能通过总线504连接;总线504可以是外设部件互连标准(peripheral  component interconnect,PCI)总线或扩展工业标准结构(extended industry  standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
[0155] 图12为本申请提供的一种PDA的结构示意图。如图12所示,该PDA60包括处理器601、存储器602和通信接口603,处理器601、存储器602和通信接口603可以通过总线604相连。
[0156] 可选的,上述处理器601可以是一个或多个中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application‑specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
[0157] 该处理器601,用于执行存储器602中的指令,执行上述应用于图7至图10所示的超高频模组与PDA的双向认证方法。该通信接口603,可以包含输入/输出(I/O)接口。
[0158] 存储器602、处理器601和通信接口603可以通过总线604相互连接,但不限于只能通过总线604连接;总线604可以是外设部件互连标准(peripheral  component interconnect,PCI)总线或扩展工业标准结构(extended industry  standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
[0159] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0160] 所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0161] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序指令指示相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
[0162] 本申请还提供了一种计算机可读存储介质,包括指令,当所述指令在超高频模组上运行时,使得所述超高频模组执行本申请提供的超高频模组与PDA的双向认证方法。
[0163] 本申请还提供了一种计算机可读存储介质,包括指令,当所述指令在PDA上运行时,使得所述PDA执行本申请提供的超高频模组与PDA的双向认证方法。
[0164] 本申请还提供了一种芯片,该芯片应用于超高频模组,该芯片包括处理单元和存储单元,该存储单元用于存储计算机操作指令;该处理单元用于通过调用存储单元中存储的计算机操作指令,以执行如本申请实施例提供的超高频模组与PDA的双向认证方法。
[0165] 本申请还提供了一种芯片,该芯片应用于PDA,该芯片包括处理单元和存储单元,该存储单元用于存储计算机操作指令;该处理单元用于通过调用存储单元中存储的计算机操作指令,以执行如本申请实施例提供的超高频模组与PDA的双向认证方法。
[0166] 以上对本申请实施例所提供的一种超高频模组与PDA的双向认证方法及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。此外,在不冲突的情况下,本申请的实施例及实施例中的特征可以互相组合。