System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数字信息的传输,尤其涉及一种协同签名算法的检测方法、协同签名设备及可读存储介质。
技术介绍
1、在对手机应用程序的签名值进行验签操作的过程中,常用的方法是在接收到手机端发送的签名值之后,调用预设的验签算法,对签名值进行验签操作。然而,当采用协同签名机制的数字签名方式时,由于协同签名的共享公钥可以对协同签名的各个参与者的签名结果进行验证,因此,认证系统在对手机端发送的签名值进行验签操作时,无法确定该签名值是否是协同签名的签名结果。从而导致协同签名机制的防护效果失效,无法达到协同签名机制的防护要求,使被保护的系统存在被非法入侵的安全隐患。
2、上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本专利技术的主要目的在于提供一种协同签名算法的检测方法,旨在解决无法检测协同签名的参与方是否参与了协同签名的问题。
2、为实现上述目的,本专利技术提供的一种协同签名算法的检测方法,应用于检测方,所述协同签名算法的检测方法包括以下步骤:
3、获取并保存协作方发送的协作方公钥,并调用随机数生成算法生成随机数;
4、在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点,并基于预设的消息和密码杂凑算法,获取第一消息摘要;
5、发送所述第一消息摘要和所述第一椭圆曲线点至协作方;
6、在接收到所述协作方返回的第一签名值之后,基于所述随机数、所述协作方公钥、所述
7、当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示。
8、可选地,所述基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数的步骤包括:
9、基于所述随机数、所述协作方公钥和所述第一签名值,获得协同椭圆曲线点;
10、对所述协同椭圆曲线点、所述第一消息摘要与预设基点的阶执行求模运算,获得所述协同签名值的第一参数。
11、可选地,所述当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示的步骤之后,还包括:
12、获取并保存发起方发送的协同公钥,并进入发起方检测进程;
13、在发起方发送第二消息摘要和第二椭圆曲线点至所述协作方时,获取所述第二消息摘要和所述第二椭圆曲线点;
14、当所述协作方发送第二签名值至所述发起方时,获取所述第二签名值;
15、当所述第二签名值的第一参数与所述协同签名值的第一参数一致时,根据所述协同公钥、所述随机数、所述第二签名值和所述协作方公钥获得第一校验值,并根据所述第二椭圆曲线点、第二签名值、协作方公钥和所述协同公钥获得第二校验值;
16、当所述第一校验值和所述第二校验值一致时,输出发起方检测通过提示。
17、可选地,所述根据所述协同公钥、所述随机数、所述第一签名值和所述协作方公钥获得第一校验值的步骤包括:
18、根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥,获得所述协同签名值的第二参数;
19、调用预设第一校验值生成算法,并将所述协同签名值的第二参数、所述协同公钥以及预设基点输入至所述预设第一校验值生成算法,获得所述第一校验值。
20、可选地,所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤包括:
21、在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
22、若是,执行所述基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤;
23、若否,执行退出协作方检测进程的动作。
24、可选地,所述在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程的步骤之后,还包括:
25、若所述协作方公钥满足所述椭圆曲线方程,检测方发送所述随机数至所述协作方;
26、所述协作方在接收到所述随机数之后,调用协作方私钥对所述随机数执行签名操作,生成签名结果,并将所述签名结果返回至所述检测方;
27、所述检测方在接收到所述协作方发送的签名结果之后,调用所述协作方公钥对所述签名结果执行验签操作;
28、当所述签名结果验签成功时,输出协作方合法的提示;
29、当所述签名结果验签失败时,输出协作方非法的提示,并执行所述退出协作方检测进程的动作。
30、此外,为实现上述目的,本专利技术提供的一种协同签名算法的检测方法,应用于协作方,所述协同签名算法的检测方法包括以下步骤:
31、在接收到发起方发送的协同密钥对生成请求之后,基于随机数生成算法,获得协作方私钥;
32、调用预设协作方公钥生成算法,基于所述协作方私钥和预设基点,生成协作方公钥;
33、发送所述协作方公钥至检测方以及所述发起方;
34、在接收到所述检测方发送的第一消息摘要和第一椭圆曲线点时,基于所述随机数生成算法,生成加密随机数;
35、基于所述加密随机数以及所述协作方私钥,对所述第一消息摘要和第一椭圆曲线点执行协同签名操作,生成第一签名值,并发送所述第一签名值至所述检测方。
36、此外,为实现上述目的,本专利技术提供的一种协同签名算法的检测方法,应用于发起方,所述协同签名算法的检测方法包括以下步骤:
37、在发送协同密钥对生成请求至协作方之后,接收协作方发送的协作方公钥,并调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程;
38、当所述协作方公钥满足所述椭圆曲线方程时,调用随机数生成算法生成发起方私钥;
39、调用预设发起方公钥生成算法,基于所述发起方私钥和预设基点,生成发起方公钥;
40、调用预设协同公钥生成算法,基于所述发起方私钥、所述协作方公钥以及所述预设基点,生成协同公钥;
41、发送所述协同公钥和所述发起方公钥至所述协作方和检测方。
42、此外,为实现上述目的,本专利技术还提供一种协同签名设备,所述协同签名设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的协同签名算法的检测程序,所述协同签名算法的检测程序被所述处理器执行时实现如上所述的协同签名算法的检测方法的步骤。
43、此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有协同签名算法的检测程序,所述协同签名算法的检测程序被处理器执行时实现如上所述的协同签名算法的检测方法的步骤。
44、本专利技术实施例提供协同签名算法的检测方法、协同签名设备及可读存储介质,协作方通过在接收到发起方发送的协同密钥对生成请求之后,生成协作方私钥以及对应的协作方公钥并发送给检测方和发起方,本文档来自技高网...
【技术保护点】
1.一种协同签名算法的检测方法,其特征在于,应用于检测方,所述协同签名算法的检测方法包括以下步骤:
2.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数的步骤包括:
3.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示的步骤之后,还包括:
4.如权利要求3所述的协同签名算法的检测方法,其特征在于,所述根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥以及所述协同公钥获得第一校验值的步骤包括:
5.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤包括:
6.如权利要求5所述的协同签名算法的检测方法,其特征在于,所述在进入协作方检测进程之后,调用椭圆曲线方程验证所述协作方公钥是否满足所述椭圆曲线方程的步骤之后,还包括:
7.一
8.一种协同签名算法的检测方法,其特征在于,应用于发起方,所述协同签名算法的检测方法包括以下步骤:
9.一种协同签名设备,其特征在于,所述协同签名设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的协同签名算法的检测程序,所述协同签名算法的检测程序配置为实现如权利要求1至8中任一项所述的协同签名算法的检测方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有协同签名算法的检测程序,所述协同签名算法的检测程序被处理器执行时实现如权利要求1至8任一项所述的协同签名算法的检测方法的步骤。
...【技术特征摘要】
1.一种协同签名算法的检测方法,其特征在于,应用于检测方,所述协同签名算法的检测方法包括以下步骤:
2.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述基于所述随机数、所述协作方公钥、所述第一签名值以及所述第一消息摘要,获得协同签名值的第一参数的步骤包括:
3.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述当所述协同签名值的第一参数与所述第一签名值的第一参数一致时,输出协作方检测通过提示的步骤之后,还包括:
4.如权利要求3所述的协同签名算法的检测方法,其特征在于,所述根据所述协同公钥、所述随机数、所述第一签名值、所述协作方公钥以及所述协同公钥获得第一校验值的步骤包括:
5.如权利要求1所述的协同签名算法的检测方法,其特征在于,所述在进入协作方检测进程之后,基于所述随机数和协作方公钥,获取第一椭圆曲线点的步骤包括:
6.如权利要求5...
【专利技术属性】
技术研发人员:陈磊,胡迎春,
申请(专利权)人:鼎铉商用密码测评技术深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。