一种适用于RFID认证系统的Hash函数构造方法

文档序号:9633642阅读:411来源:国知局
一种适用于RFID认证系统的Hash函数构造方法
【技术领域】
[0001] 本发明设及信息安全技术领域,尤其设及一种适用于RFID认证系统的化Sh函数 构造方法。
【背景技术】
[0002] 射频识别(RFID)技术作为物联网的重要支撑技术之一,具有自动识别、非接触、 容量大、速度快等优点,被广泛应用在口禁、物流管理、自动收费等场合。然而随着RFID技 术的普及,其安全问题日渐突出,由于RFID系统中电子标签的计算能力、存储能力W及能 源的限制,成熟的公钥算法无法直接应用于RFID系统的认证过程。
[0003] 现有技术中针对RFID电子标签与读写器的认证协议,已有大量研究成果被 公开发表,运些成果中的大部分都利用了化Sh函数来解决完整性检测W及TIDCTag Identific-ation)和RID巧eader Identification)在不安全的无线信道中传输等问题。 然而,运些化Sh函数的算法W及实现过程却很少有人设及。传统的散列化ash)算法如MD5, SHA-I等已被证明不安全,国际上开展了新一轮化Sh函数标准的公开征集,然而近几年新 提出的化Sh函数设计方案主要考虑了 PC技术的发展,新算法更适合在多核环境及大内存 的情况下实现,运与RFID的要求背道而驰。因此探索研究一种适合于RFID认证系统的 化Sh函数是一个十分迫切的问题。

【发明内容】

[0004] 本发明的目的是提供一种适用于RFID认证系统的化Sh函数构造方法,利用该方 法可W随系统格子数目的变化,得到不同字节长度的散列值,具有输出任意字节长度散列 值的能力,从而可W根据用户需求W及RFID系统的安全性需求来确定化Sh函数的输出长 度。
[0005] 一种适用于RFID认证系统的化Sh函数构造方法,所述方法包括:
[0006] 建立禪合动态整数帐篷映象格子模型;
[0007] 根据RFID认证系统的硬件资源及应用场合确定所述RFID认证系统的尺寸L;所 述L为所述禪合动态整数帐篷映象格子模型的格子数,同时也是化Sh函数的输出字节数;
[0008] 针对待散列的数据消息进行填充,填充后的消息字节数为b,且b为L的最小整数 倍;
[0009] 将填充后的消息分为若干组,使每组的字节数为以将各组的对应字节进行累加, 再对256求余数,得到一个长度为L字节的数组作为迭代初值;
[0010] 将所述迭代初值带入所建立的禪合动态整数帐篷映象格子模型中进行L步迭代, 将第L+10步的迭代结果作为最终化Sh函数的输出值。
[0011] 由上述本发明提供的技术方案可W看出,利用该方法可W随系统格子数目的变 化,得到不同字节长度的散列值,具有输出任意字节长度散列值的能力,从而可W根据用户 需求W及RFID系统的安全性需求来确定化Sh函数的输出长度。
【附图说明】
[0012] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他 附图。
[0013] 图1为本发明实施例所提供的适用于RFID认证系统的化Sh函数构造方法流程示 意图;
[0014] 图2为本发明所举实例中消息填充的示意图;
[0015] 图3为本发明所举实例中迭代初值的获取示意图;
[0016] 图4为本发明实施例所述方法在RFID认证系统中的应用实例示意图。
【具体实施方式】
[0017] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0018] 本发明实施例所述构造方法是将待散列数据作为禪合动态整数帐篷映象格子模 型的迭代初值,在经过一定步数的迭代后,将最后的迭代结果作为散列值输出,运样化Sh 函数的输出长度由模型的格子数决定,每一个格点值是一个8位无符号整数,即一字节,由 于模型的格子数是可W任意变化,故最后输出的散列值长度可W是任意字节,从而可W根 据用户需求W及RFID系统的安全性需求来确定化Sh函数的输出长度。下面将结合附图对 本发明实施例作进一步地详细描述,如图1所示为本发明实施例所提供的适用于RFID认 证系统的化Sh函数构造方法流程示意图,所述方法包括:
[0019] 步骤11 :建立禪合动态整数帐篷映象格子模型;
[0020] 在该步骤中,动态整数帐篷映射是将帐篷映射进行整数化,并且加入动态参量后 形成的一种非线性映射,它既保持了帐篷映射均匀分布的特性,又克服了整数帐篷映射的 短周期问题,是一种性能优良的整数混浊映射,十分适用于构造密码算法。
[0021] 而本发明实施例为了获得性能良好的密码序列,利用禪合映像格子模型(CML)将 动态整数帐篷映射进行禪合。CML是人们研究非线性时空混浊行为极其重要的一类模型,其 所选用的非线性函数、系统格子大小、禪合系数及非线性函数参数的不同取值都将直接影 响禪合映象格子系统所产生序列的复杂性,进而影响由其构造的密码系统的安全性。为使 系统生成的时间序列具有均匀分布特性,对CML结构进行改进,即用动态整数帐篷映射作 为禪合映象格子系统的非线性函数,具体建立禪合动态整数帐篷映象格子模型的过程有多 种,其中一种典型的建立过程为:
[0022] 首先将动态整数帐篷映射用如下公式1进行描述:
[0023] 公式 1 :
[0024] 其中,g(n) = [x(n)+k(n)]mod 上式中,x(n)表示第n步迭代结果;k(n)表示 每一步迭代时的动态参量,一般k(n)取值与迭代步数有关;2k-l为x(n)取值的整数集上 界;mod为取余数运算;
[00巧]然后用所述动态整数帐篷映射作为禪合映象格子模型的非线性函数,禪合方式如 公式2所示:
[002引公式 2 :Xt(n+l) = (f [Xt(n)]+f [Xt i(n)])mod2k;
[0027] 上式中,i的取值范围为:0, 1,…,kl,L为RFID认证系统的尺寸;Xi(n+1)表示第 i个格点的第n+1步迭代所得状态值;f( ?)表示格点的非线性函数,运里取为所述动态整 数帐篷映射;2k为格点取值的状态数目。
[0028] 上述每一个格点值由上一步迭代的=个格点值确定,同时每一个格点又能对下一 步迭代的=个格点产生影响,实现了格点间的禪合,有利于信息的混淆与扩散。
[0029] 步骤12 :根据RFID认证系统的硬件资源及应用场合确定所述RFID认证系统的尺 寸L ;
[0030] 在该步骤中,所述L为所述禪合动态整数帐篷映象格子模型的格子数,同时也是 化Sh函数的输出字节数。
[0031] 运里,RFID认证系统的尺寸L主要由两个因素决定:一是RFID电子标签的硬件资 源。一般情况下,RFID系统的硬件资源限制只来自于电子标签,即只要电子标签能够完成 的计算、存储,读写器都能够轻易完成。故在确定L时,只需考虑电子标签是否能够承受,且 要求尽量少地占用用户存储区;二是RFID系统的应用场合,依据RFID系统的应用场合不同 将RFID认证协议分为轻量级、中量级、重量级S种级别。综上所述,L的确定既要考虑标签 的硬件资源,又要考虑系统的应用场合。
[0032] 步骤13 :针对待散列的数据消息进行填充,填充后的消息字节数为b,且b为L的 最小整数倍;
[0033] 在该步骤中,待散列的数据消息一般是W字节为单位的一系列十六进制数。
[0034] 所述填充后的消息字节数b表示为:
[0035] b = bi+bz+l ;
[0036]上式中,bi为原消息的字节数;b2为进行消息填充的消息字节数,且填充的消息内 容为若干字节的十六进制数80 ;1表示一个字节,内容为原消息的比特数。
[0037] 举例来说,如图2所示为本发明所举实例中消息填充的示意图,图2中选取消息为 遵循EPC编码体系的一段电子标签序列号,为十六进制数0X020000A6800010D000112D邸, 共96bit,12字节,填充后的消息字节数为20字节(总长度b) = 12字节(原消息长 度bi)巧字节(填充长度bz) +1字节(原消息比特数),即020000A6800010D000112D ED8080808080808060 (20 字节)。
[0038] 步骤14 :将填充后的消息分为若干组,使每组的字节数为以将各组的对应字节进 行累加,再对256求余数,得到一个长度为L字节的数组作为迭代初值;
[003引运里,由于每个字节占8bit,故字节的状态取值范围为{0, 1,2,…,28-1},要保证 累加后每个字节的状态值在取值范围内,故需要对256求余数。
[0040] 举例来说,如图3所示为本发明所举实例中迭代初值的获取示意图,本实例中填 充后的消息为20字节,L = 10,则分为两组,如下所示:
[0041] 组 I :02 00 00 A6 80 00 10 DO 00 11
[0042] 组 2 :2D 邸 80 80 80 80 80 80 80 60
[0043] 再将上述两组消息的对应位置字节分别相加,再对256求余数,得到一组10字节 (长度等于U的数组作为迭代初值,即而二{2F ED 80 26 00 80 90 50 80 71}。
[0044] 步骤15 :将所述迭代初值带入所建立的禪合动态整数帐篷映象格子模型中进行L 步迭代,将第L+10步的迭代结果作为最终化Sh函数的输出值。
[0045] 在该步骤中,迭代步数是由模型的禪合方式得知的,若要初值影响到所有输出格 点值,则至少需要迭代L步,再考虑一定的裕量,运里取迭代步数为L+10。
[0046] 下面W具体实例对上述迭代过程进行描述,迭代过程如下:
[0047] 1)取禪合动态整数帐篷映象格子模型中的动态参量k(n)=当前迭代步数+1,L = 10个格点初值为填充后消息的十个字节X。。
[004引 2)迭代过程如下表1所示:
[004引表1迭代过程
[0050]
[0051] 如输出Xi(20)||x2(20)M……MXio (20)作为最终化Sh值,即:
[0052] E14A7083C83621F678DF,共L*8 =SObito
[0053] 下面给出本发明所述方法的一个应用实例,如图4所示为本发明实施例所述方法 在RFID认证系统中的应用实例示意图,参考图4 :每个电子标签都要存储一个与后台数据 库共享的秘密值Si,阅读器内置一个随机数发生器,后台数据库存放所有标签的标识TIDi W及标识TIDi对应的秘密值S1。
[0054] 现假设一个电子标签需要被认证,标签标识TID取为用户自定义的编号,为4字节 十六进制数OxFFOOOOO
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1