一种针对门限SM2签名的身份识别方法
- 国知局
- 2024-08-02 14:36:45
本发明涉及信息安全,特别是涉及一种针对门限sm2签名的身份识别方法。
背景技术:
1、sm2算法是由国家密码管理局发布的一种公钥算法,作为商用公钥算法被广泛使用。sm2算法通过利用椭圆曲线上的素数,为伽罗华域的大数难分解问题提供了安全性保证,不仅可以用于信息加密,还可以用于信息签名。
2、门限算法是一种将用于加密或签名的私钥分割成n份私钥共享份额,通过需要至少t份私钥共享份额才可以进行解密或签名操作对加密或签名私钥进行保护的机制,可以预防单点故障造成解密或签名无法正常进行。其中,门限sm2签名通过使用秘密共享算法和安全多方计算算法将sm2签名算法改造成支持(t,n)门限算法的一种多方协助的签名算法。
3、门限sm2签名是一个匿名化算法,即当签名结束后,无法通过签名信息获取参与签名的用户的身份信息。若存在多个作恶者协助对错误信息进行签名,当生成签名后无法找出相关的作恶者信息。由于存在作恶风险,故需要一种针对门限sm2签名的身份识别方法。
技术实现思路
1、为解决现有技术存在的上述问题,本发明提供了一种针对门限sm2签名的身份识别方法。
2、为实现上述目的,本发明提供了如下方案:
3、一种针对门限sm2签名的身份识别方法,包括:
4、获取所有用户的广播数据以及记录者与所有用户的公开参数,并以所述广播数据为数据基础,完成用户身份信息的记录,以得到sm2签名的公钥以及广播内容;
5、以记录者与所有用户的公开参数、所述广播内容以及所述公钥为数据基础,完成参与签名的用户身份信息,以生成加密身份信息和sm2签名信息三元组;
6、基于所述加密身份信息和所述sm2签名信息三元组,完成参与签名的用户身份信息验证,得到验证结果,并基于所述验证结果确定记录者是否作恶;
7、当确定所述记录者作恶或用户签名存在异常时,运行参与签名的用户身份信息解密算法,得到sm2签名的参与用户的身份信息明文。
8、可选地,以记录者与所有用户的公开参数、所述广播内容以及所述公钥为数据基础,完成参与签名的用户身份信息,以生成加密身份信息和sm2签名信息三元组,具体包括:
9、获取第一次广播内容,并基于所述第一次广播内容以及所述记录者与所有用户的公开参数确定第一sm2签名信息变量;
10、获取最后一次广播内容,并基于所述最后一次广播内容以及所述记录者与所有用户的公开参数确定第二sm2签名信息变量;
11、根据发送广播的各用户id,对用户身份信息进行排序后转化为比特串;
12、使用所述公钥执行sm2加密算法,对所述比特串进行加密,得到所述加密身份信息;
13、使用sm3哈希函数,根据加密后的信息生成第一消息摘要;
14、基于所述第一消息摘要、所述第一sm2签名信息变量和所述第二sm2签名信息变量生成所述sm2签名信息三元组。
15、可选地,基于所述加密身份信息和所述sm2签名信息三元组,完成参与签名的用户身份信息验证,得到验证结果,并基于所述验证结果确定记录者是否作恶,具体包括:
16、确定每一用户的计算系数,并基于所述计算系数确定子私钥;
17、从所述加密身份信息中提取得到第一变量、第二变量和第三变量;
18、基于所述第一变量和所述子私钥确定每一用户的第一临时变量,并广播所述第一临时变量;
19、每一用户基于接收的临时变量以及自身的第一临时变量确定变量,并基于所述变量确定第二临时变量;
20、基于所述第二临时变量和所述比特串确定第四变量;
21、验证所述第四变量是否与所述第二变量相等;
22、当验证所述第四变量与所述第二变量不相等时,所述加密身份信息以及所述sm2签名信息三元组存在异常,确定记录者作恶;
23、当验证所述第四变量与所述第二变量相等时,基于所述比特串确定第五变量;
24、验证所述第五变量是否与所述第三变量相等;
25、当验证所述第五变量与所述第三变量不相等时,所述加密身份信息以及所述sm2签名信息三元组存在异常,确定记录者作恶;
26、当验证所述第五变量与所述第三变量相等时,所述加密身份信息无异常。
27、可选地,当确定所述记录者作恶或用户签名存在异常时,运行参与签名的用户身份信息解密算法,得到sm2签名的参与用户的身份信息明文,具体包括:
28、对所述加密身份信息进行sm3哈希计算,生成第二消息摘要;
29、验证所述第二消息摘要是否等于所述第一消息摘要;
30、当所述第二消息摘要等于所述第一消息摘要时,基于所述第二临时变量和所述第二变量确定消息;
31、基于所述消息和所述变量确定第六变量;
32、确定所述第六变量是否等于所述第三变量;
33、当所述第六变量等于所述第三变量时,所述消息即为sm2签名的参与用户的身份信息明文;
34、当所述第二消息摘要不等于所述第一消息摘要,或所述第六变量不等于所述第三变量时,结束参与签名的用户身份信息解密算法。
35、可选地,在获取所有用户的广播数据以及记录者与所有用户的公开参数之前,所述方法还包括:
36、初始化记录者与所有用户的公开参数。
37、根据本发明提供的具体实施例,本发明公开了以下技术效果:
38、本发明记录用户身份信息,得到sm2签名的公钥以及广播内容后,以记录者与所有用户的公开参数、广播内容以及公钥为数据基础,完成参与签名的用户身份信息,生成加密身份信息和sm2签名信息三元组;基于加密身份信息和sm2签名信息三元组,完成参与签名的用户身份信息验证,得到验证结果,并基于验证结果确定记录者是否作恶;当确定记录者作恶或用户签名存在异常时,运行参与签名的用户身份信息解密算法,得到sm2签名的参与用户的身份信息明文,能够在满足通过签名附加信息识别参与签名的用户身份信息功能的同时,实现对记录者记录保存的加密信息进行验证的功能。
技术特征:1.一种针对门限sm2签名的身份识别方法,其特征在于,所述方法包括:
2.根据权利要求1所述的针对门限sm2签名的身份识别方法,其特征在于,以记录者与所有用户的公开参数、所述广播内容以及所述公钥为数据基础,完成参与签名的用户身份信息,以生成加密身份信息和sm2签名信息三元组,具体包括:
3.根据权利要求2所述的针对门限sm2签名的身份识别方法,其特征在于,基于所述加密身份信息和所述sm2签名信息三元组,完成参与签名的用户身份信息验证,得到验证结果,并基于所述验证结果确定记录者是否作恶,具体包括:
4.根据权利要求3所述的针对门限sm2签名的身份识别方法,其特征在于,当确定所述记录者作恶或用户签名存在异常时,运行参与签名的用户身份信息解密算法,得到sm2签名的参与用户的身份信息明文,具体包括:
5.根据权利要求1所述的针对门限sm2签名的身份识别方法,其特征在于,在获取所有用户的广播数据以及记录者与所有用户的公开参数之前,所述方法还包括:
技术总结本发明公开一种针对门限SM2签名的身份识别方法,涉及信息安全技术领域。本发明在得到SM2签名的公钥以及广播内容后,以记录者与所有用户的公开参数、广播内容以及公钥为数据基础,完成参与签名的用户身份信息,生成加密身份信息和SM2签名信息三元组;基于加密身份信息和SM2签名信息三元组,完成参与签名的用户身份信息验证,得到验证结果,并基于验证结果确定记录者是否作恶;当确定记录者作恶或用户签名存在异常时,运行参与签名的用户身份信息解密算法,得到SM2签名的参与用户的身份信息明文,能够在满足通过签名附加信息识别参与签名的用户身份信息功能的同时,实现对记录者记录保存的加密信息进行验证的功能。技术研发人员:李新宇,郑海彬,关振宇,郭振纬,陈宇轩,王玉珏受保护的技术使用者:北京航空航天大学杭州创新研究院技术研发日:技术公布日:2024/7/25本文地址:https://www.jishuxx.com/zhuanli/20240801/243376.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表