(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210573600.1
(22)申请日 2022.05.24
(71)申请人 贵州大学
地址 550000 贵州省贵阳市花溪区
(72)发明人 彭长根 贺嘉琦 许德权 汤寒林
丁红发
(74)专利代理 机构 北京和联顺知识产权代理有
限公司 1 1621
专利代理师 公茂海
(51)Int.Cl.
H04L 9/32(2006.01)
H04W 12/06(2021.01)
H04W 4/80(2018.01)
(54)发明名称
一种基于国密SM2和SM3算法的RFID双 向认
证方法及系统
(57)摘要
本发明公开了一种基于国密SM2和SM3算法
的RFID双向认证方法及系 统, 通过基于SM2密码
算法、 SM3密码算法与或运算, 设计带有共享密钥
的消息认证码(HMAC), 改进随机Hash ‑Lock协议
只能实现单向认证的不足, 提出新的基于国密
SM2和SM3的RFID双向认证方法, 解决数据完整
性、 机密性、 可用性问题, 实现双向认证的功能;
基于SM3密码算 法的单向性特点, 嵌入Hash ‑Lock
协议随机变化计算值的思想, 引入共享密钥机
制, 围绕ETC场景, 设计密钥同步自动更新机制,
有效解决RFID认证过程中密钥不更新和认证信
息固定引起的泄露问题, 确保用户的隐私性和真
实性, 进而提高认证的灵活性与安全性。
权利要求书2页 说明书5页 附图5页
CN 114978548 A
2022.08.30
CN 114978548 A
1.一种基于国密SM2和SM 3算法的RFID双向认证方法, 其特 征在于: 包括以下步骤:
步骤一: 服 务器生成一个随机数r1, 计算R1=r1P, 向标签发送响应请求 Query和R1;
步骤二: 标签收到Query和R1后, 生成一个随机数r2, 并计算R2=r2P、 R3=r2PSS、 Rt=r2R1;
并用服务器公钥PS对标签标识符xt加密得到c =E(xt)后, 计算验证消息A uths=c+h(SRt PR2
PR3), 并将{R2,Rt,ID,Auths}发送给服 务器。
步骤三: 服务器接收到消息后, 计算R3′=XSR2S和c′=Auths‑h(SRt PR2 PR3′), 用服务
器的密钥XS对加密的标签标识符c ′解密得到xt′=Dec(c′), 根据接收到的标签名ID在数据
库中获取对应的xt, 然后验证xt′与xt是否相等。 如果不相等, 服务器终止会话; 否则, 服务器
成功认证标签的身份, 此时服务器继续计算Rs=r1R2和验证消息Autht=h(xt'PSRs
PAuths), 然后将{Rs,Autht}发送给 标签。
步骤四: 标签计算Autht ′=h(xt PSRs PAuths)与接收到的验证消息Autht进行比较, 若
它们不相等的, 则标签对服务器的身份合法性验证不通过; 若相等, 说明服务器身份是合法
的, 此时标签和服 务器对双方的身份认证均已完成。
步骤五: 服 务器和标签在成功 认证双方身份之后, 同时更新标签名ID和共享密钥S。
2.根据权利要求1所述的一种基于国密SM2和SM3算法的RFID双向认证方法, 其特征在
于: 上述步骤中包括五个多 项式时间算法; 所述五个多 项式时间算法包括
Setup( λ ) →(Para,xt,ID,KP,S)、 Enc(r1,r2,xt,Para,S,KP) →(Auths,Autht,Autht')、
Dec(Auths,XS)→(xt′)、 Ver(Para,ID,xt,S,KP)→(Accept,Reject)和Update(Para,
ID,S,KP) →(IDnew,Snew)。
所述Setup( λ ) →(Para,xt,ID,KP,S)具体为: 算法输入 安全参数λ, 输出椭圆曲线公共参
数Para=(a,b,n,q,P), 在椭圆曲线E上随机选择
作为标签的标识符, 随机选择ID
=h(xt)作为标签名,
作为服务器私钥,
作为服务器公钥,
作为标签
与服务器的共享密钥, 并将标签有关信息、 服务器公钥PS共享密钥S和椭圆曲线域参数Para
=(a,b,n,q,P,)存 储在标签内存和服 务器的后台数据库中。
3.根据权利要求2所述的一种基于国密SM2和SM3算法的RFID双向认证方法, 其特征在
于: 所述Enc(r1,r2,xt,Para,S,KP) →(Auths,Autht,Autht')具体为: 随机选择整数r1,r2, 输
入标签标识符xt, 公共参数Para, 标签与服务器的共享密钥S和服务器密钥对KP, 标签用服
务器的公钥Ps对标签标识符xt加密成c=E(xt)后, 算法输出:
Auths=c+h(SRt PR2 PR3)
Autht=h(xt′PSRs PAuths)
Autht′=h(xt PSRs PAuths)
其中R1=r1P, R2=r2P, R3=r2PSS, Rt=r2R1, Rs=r1R2。
4.根据权利要求2所述的一种基于国密SM2和SM3算法的RFID双向认证方法, 其特征在
于: 所述Dec(Auths,XS)→(xt')具体为: 输入认证消息Auths, 服务器用私钥XS对Auths中的
密文c解密后, 算法输出待验证的标签标识符xt′。
5.根据权利要求2所述的一种基于国密SM2和SM3算法的RFID双向认证方法, 其特征在
于: 所述Ver(Para,ID,xt,S,KP)→(Accept,Reject)具体为: 输入公共参数Para, 标签名ID,
标签标识符xt, 共享密钥S和服务器密钥对KP, 标签输出R2=r2P、 R3=r2PSS、 Rt=r2R1和认证权 利 要 求 书 1/2 页
2
CN 114978548 A
2消息Auths=c+h(SRt PR2 PR3), 然后给服务器发送{R2,Rt,ID,Auths}。 服务器收到消息后根
据接收到的标签名ID在数据库中获取对应的xt, 用自己的私钥XS计算R3'=XSR2S, 输出
Auths中的c'=Auths ‑h(SRt PR2 PR3'), 并验证Auths中的xt′=Dec(c′)与存储的xt是否相
等。 若不想等, 说明服务器对标签认证失败, 直接输出Reject; 若相等, 则认证成功, 输出
Accept, Rs=r1R2和认证消息Autht=h(xt′ PSRs P Auths)并发送给标签; 标签计算Autht ′
=h(xt PSRs P Auths)与收到的Autht进行对比验证, 若二者不相等, 则输出Reject, 否则输
出Accept, 双向认证完成。
6.根据权利要求2所述的一种基于国密SM2和SM3算法的RFID双向认证方法, 其特征在
于: 所述Update(Para,ID,S,KP) →(IDnew,Snew)具体为: 输入公共参数Para, 标签名ID, 共享
密钥S和服 务器密钥对KP, 算法输出 更新后的标签名IDnew和共享密钥Snew, 其中标签更新 为:
ID*=h(R2 PR3 PRt PID)
ID←ID*
S*=h(R1 PR2 PS)
S←S*
服务器更新:
若IDold被接收:
IDnew=h(R2 PR3' PRs PIDold)
Snew=h(R1 PR2 PSold)
若IDnew被接收:
IDold=IDnew
IDnew=h(R2 PR3' PRs PIDold)
Sold=Snew
Snew=h(R1 PR2 PSold)。
7.一种基于国密SM2和 SM3算法的RFID双向认证的系统, 其特征在于: 包括初始化模块、
密钥获取模块、 加密模块、 生成验证消息模块、 接收验证消息模块、 解密模块和认证模块。权 利 要 求 书 2/2 页
3
CN 114978548 A
3
专利 一种基于国密SM2和SM3算法的RFID双向认证方法及系统
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:15:03上传分享