一种数据签名方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:38427797 阅读:16 留言:0更新日期:2023-08-07 11:25
本申请公开了一种数据签名方法,包括获取各签名终端和待签名的目标数据;从基于软件保护扩展的机密容器中获取各签名终端的公钥,并计算共享公钥;生成各签名终端的随机数,获取生成时的系统时间和各签名终端的终端标识信息;对随机数、系统时间及终端标识信息进行摘要计算;根据计算得到的各随机密钥计算各签名终端分别对应的随机公钥,计算共享随机数公钥;根据各共享公钥、共享随机数公钥对目标数据进行哈希计算,根据哈希计算结果分别计算各签名终端的初始签名结果;聚合得到目标签名结果。本申请能抵抗密钥取消攻击,保证了数据的完整性、不可抵赖性,减少了签名验证的时间。本申请还公开了一种装置、设备及存储介质,具有相应技术效果。相应技术效果。相应技术效果。

【技术实现步骤摘要】
一种数据签名方法、装置、设备及计算机可读存储介质


[0001]本申请涉及云计算安全
,特别是涉及一种数据签名方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]随着云计算时代的到来,在云租户的实际业务中,一份文件或材料,经常需要几个单位或部门分别签字(或盖章)才有效,云是一个不安全的场景,云服务提供商可以查看甚至操作所有云租户的数据,存在签名过程中使用的关键敏感信息(如秘密密钥)的存储和使用的问题。
[0003]多重签名技术作为在网络环境里解决上述问题的一种方法,用于同一文档必须经过多人的签名才有效的情形。多重签名即为多个签名者共同参与对一份电子文档进行签名。对多个签名者的签名进行验证,如果其中有一个是无效的签名,就拒绝整个认证结果。目前主要存在包括下述几种方式:1)各方人员单独进行数据签名的方式,以保证完整性和不可抵赖性,此种方式需要验证多个数据签名,计算量大,效率差;2)各方人员采用shamir秘密共享算法完成密钥共享,通过多于门限值的人员恢复密钥,并对文件进行加解密并进行哈希(hash)计算的方式。此种方式计算量大,并且如果各方人员中的一个或多个密钥丢失或更换,其他所有人也必须同时更换,不便于实际操作;3)采用Schnorr聚合签名的方式对文件进行签名,以保证完整性和不可抵赖性,此种方式计算量小,但无法抵抗密钥取消攻击、重放攻击等。
[0004]综上所述,如何有效地解决目前的数据签名方式计算量大,效率差,需要频繁更换密钥,无法抵抗密钥取消攻击、重放攻击等问题,是目前本领域技术人员急需解决的问题。

技术实现思路

[0005]本申请的目的是提供一种数据签名方法,该方法能抵抗密钥取消攻击,保证了数据的完整性、不可抵赖性,极大的减少了签名验证的时间;本申请的另一目的是提供一种数据签名装置、设备及计算机可读存储介质。
[0006]为解决上述技术问题,本申请提供如下技术方案:
[0007]一种数据签名方法,包括:
[0008]对接收到的数据签名请求进行解析,得到各签名终端和待签名的目标数据;
[0009]从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥,并根据各所述公钥计算共享公钥;
[0010]利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数,并获取各所述随机数生成时分别对应的系统时间和各所述签名终端分别对应的终端标识信息;
[0011]获取预设的椭圆曲线参数的阶数,利用与所述椭圆曲线参数的阶数相同的哈希算法分别对各所述签名终端对应的随机数、系统时间及终端标识信息进行摘要计算,得到各所述签名终端分别对应的随机密钥;
[0012]根据各所述随机密钥计算各所述签名终端分别对应的随机公钥,并根据各所述随机公钥计算共享随机数公钥;
[0013]根据各所述共享公钥、所述共享随机数公钥对所述目标数据进行哈希计算,并根据哈希计算结果分别计算各所述签名终端对应的初始签名结果;
[0014]对各所述初始签名结果进行聚合操作,得到目标签名结果。
[0015]在本申请的一种具体实施方式中,从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥,包括:
[0016]从基于软件保护扩展的机密容器的全局公共模块中获取各所述签名终端分别对应的公钥。
[0017]在本申请的一种具体实施方式中,获取预设的椭圆曲线参数的阶数,包括:
[0018]从所述机密容器的全局公共模块中获取预设的椭圆曲线参数的阶数。
[0019]在本申请的一种具体实施方式中,利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数,包括:
[0020]对所述机密容器中的签名模块进行访问,以使所述签名模块利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数。
[0021]在本申请的一种具体实施方式中,还包括:
[0022]当存在初始签名结果计算失败的目标签名终端时,访问所述机密容器中的密钥对生成模块,以重新生成所述目标签名终端对应的密钥对信息,并重复执行所述从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥的步骤;其中,所述密钥对信息包括所述目标签名终端对应的目标私钥和目标公钥,所述目标公钥为所述目标私钥与预选取的椭圆曲线基点的乘积。
[0023]在本申请的一种具体实施方式中,在得到目标签名结果之后,还包括:
[0024]当接收到对所述目标数据的访问请求时,对所述目标签名结果进行验签操作。
[0025]在本申请的一种具体实施方式中,对所述目标签名结果进行验签操作,包括:
[0026]计算所述目标签名结果与预选取的椭圆曲线基点的乘积,得到第一乘积结果;
[0027]计算所述哈希计算结果与所述共享公钥的乘积,得到第二乘积结果,并将所述第二乘积结果与所述共享随机数公钥进行求和计算,得到求和结果;
[0028]通过比较所述第一乘积结果与所述求和结果的一致性对所述目标签名结果进行验签操作。
[0029]一种数据签名装置,包括:
[0030]请求解析单元,用于对接收到的数据签名请求进行解析,得到各签名终端和待签名的目标数据;
[0031]共享公钥计算单元,用于从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥,并根据各所述公钥计算共享公钥;
[0032]随机数生成及信息获取单元,用于利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数,并获取各所述随机数生成时分别对应的系统时间和各所述签名终端分别对应的终端标识信息;
[0033]随机密钥获得单元,用于获取预设的椭圆曲线参数的阶数,利用与所述椭圆曲线参数的阶数相同的哈希算法分别对各所述签名终端对应的随机数、系统时间及终端标识信
息进行摘要计算,得到各所述签名终端分别对应的随机密钥;
[0034]共享随机数公钥计算单元,用于根据各所述随机密钥计算各所述签名终端分别对应的随机公钥,并根据各所述随机公钥计算共享随机数公钥;
[0035]初始签名结果计算单元,用于根据各所述共享公钥、所述共享随机数公钥对所述目标数据进行哈希计算,并根据哈希计算结果分别计算各所述签名终端对应的初始签名结果;
[0036]目标签名结果获得单元,用于对各所述初始签名结果进行聚合操作,得到目标签名结果。
[0037]一种数据签名设备,包括:
[0038]存储器,用于存储计算机程序;
[0039]处理器,用于执行所述计算机程序时实现如前所述数据签名方法的步骤。
[0040]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据签名方法的步骤。
[0041]本申请所提供的数据签名方法,对接收到的数据签名请求进行解析,得到各签名终端和待签名的目标数据;从基于软件保护扩展的机密容器中获取各签名终端分别对应的公钥,并根据各公钥计算共享公钥;利用密本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据签名方法,其特征在于,包括:对接收到的数据签名请求进行解析,得到各签名终端和待签名的目标数据;从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥,并根据各所述公钥计算共享公钥;利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数,并获取各所述随机数生成时分别对应的系统时间和各所述签名终端分别对应的终端标识信息;获取预设的椭圆曲线参数的阶数,利用与所述椭圆曲线参数的阶数相同的哈希算法分别对各所述签名终端对应的随机数、系统时间及终端标识信息进行摘要计算,得到各所述签名终端分别对应的随机密钥;根据各所述随机密钥计算各所述签名终端分别对应的随机公钥,并根据各所述随机公钥计算共享随机数公钥;根据各所述共享公钥、所述共享随机数公钥对所述目标数据进行哈希计算,并根据哈希计算结果分别计算各所述签名终端对应的初始签名结果;对各所述初始签名结果进行聚合操作,得到目标签名结果。2.根据权利要求1所述的数据签名方法,其特征在于,从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥,包括:从基于软件保护扩展的机密容器的全局公共模块中获取各所述签名终端分别对应的公钥。3.根据权利要求1所述的数据签名方法,其特征在于,获取预设的椭圆曲线参数的阶数,包括:从所述机密容器的全局公共模块中获取预设的椭圆曲线参数的阶数。4.根据权利要求1所述的数据签名方法,其特征在于,利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数,包括:对所述机密容器中的签名模块进行访问,以使所述签名模块利用密码学安全的随机数生成器生成各所述签名终端分别对应的随机数。5.根据权利要求1所述的数据签名方法,其特征在于,还包括:当存在初始签名结果计算失败的目标签名终端时,访问所述机密容器中的密钥对生成模块,以重新生成所述目标签名终端对应的密钥对信息,并重复执行所述从基于软件保护扩展的机密容器中获取各所述签名终端分别对应的公钥的步骤;其中,所述密钥对信息包括所述目标签名终端对应的目标私钥和目标公钥,所述目标公钥为所述目标私钥与预选取的椭圆曲线基点的乘积。6.根据权利要求1至5任一项所述...

【专利技术属性】
技术研发人员:霍文
申请(专利权)人:山东海量信息技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1