一种生成签名的方法和装置、安全认证方法和装置制造方法及图纸

技术编号:36962425 阅读:60 留言:0更新日期:2023-03-22 19:22
本公开的实施例提供一种生成签名的方法,具体实现方案为:接收基于身份信息和公开参数生成的用户私钥;响应于用户私钥的验证结果正确,确定用户私钥合法;响应于接收到待签名数据,从联盟区块链获取公开参数;基于公开参数、待签名数据、签名时间以及用户私钥,生成包括待签名数据的签名;将签名发送给联盟区块链上的接收者,以使接收者基于公开参数检测签名的合法性。通过本实施方式,提高了签名生成的安全性。全性。全性。

【技术实现步骤摘要】
一种生成签名的方法和装置、安全认证方法和装置


[0001]本公开的实施例涉及计算机
,具体地,涉及一种生成签名的方法和装置、安全认证方法和装置、电子设备、计算机可读存储介质。

技术介绍

[0002]区块链实现了链上存证、防伪溯源、数据监管等服务,可分为公有链、联盟链和私有链,其中联盟链由机构成员共同维护,通常由多个组织共同管理一个区块链,节点想要加入联盟链必须由组织同意,联盟链上的数据也只有联盟链中的节点才有权读写。
[0003]现有联盟链成员间共识认证机制大多采用的是基于PKI(Public Key Infrastructure,公钥基础设施)体制,当联盟节点对数据进行签名时,均需在第三方证书管理机构(CA)请求公钥证书,可能造成第三方证书管理机构资源管理紧张的问题。

技术实现思路

[0004]本文中描述的实施例提供了一种生成签名的方法和装置、安全认证方法和装置、电子设备以及存储有计算机程序的计算机可读存储介质。
[0005]根据本公开的第一方面,提供了一种生成签名的方法。在该方法中,接收基于身份信息和公开参数生成的用户私钥;响应于用户私钥的验证结果正确,确定用户私钥合法;响应于接收到待签名数据,从联盟区块链获取公开参数;基于公开参数、待签名数据、签名时间以及用户私钥,生成包括待签名数据的签名;将签名发送给联盟区块链上的接收者,以使接收者基于公开参数检测签名的合法性。
[0006]在本公开的一些实施例中,响应于用户私钥的验证结果不正确,拒收用户私钥,并发出重新申请私钥的请求。
[0007]在本公开的一些实施例中,上述述公开参数包括:公钥参数以及散列函数,用户私钥采用如下步骤生成:接收由监管节点发送的监管密钥,监管密钥包括:身份密钥和随机密钥;身份密钥基于身份信息、公钥参数以及随机选取的随机整数生成;随机密钥基于散列函数以及随机整数生成;接收由管理节点生成的管理密钥,管理密钥基于身份信息生成;将监管密钥和管理密钥作为用户私钥。在本公开的一些实施例中,响应于用户私钥的验证结果正确,确定用户私钥合法包括:确定用户私钥中的随机密钥、身份密钥以及管理密钥;基于管理密钥,确定用户公钥;基于用户公钥、身份密钥以及管理密钥,得到第一私钥;基于随机密钥、公开参数以及身份信息,得到第二私钥;检测第一私钥与第二私钥是否相等;若第一私钥与第二私钥相等,确定用户私钥合法。
[0008]在本公开的一些实施例中,上述基于公开参数、待签名数据、签名时间以及用户私钥,生成包括待签名数据的签名包括:采用散列函数对待签名数据以及签名时间进行签名计算,得到签名消息字符串;获取签名随机值;基于身份密钥、签名随机值以及签名消息字符串,计算得到第一签名;基于随机密钥和签名随机值,计算得到第二签名;基于签名随机值、第一公钥参数,计算得到第三签名;基于签名随机值和公钥参数,计算得到第四签名;将
待签名数据、签名时间、第一签名、第二签名、第三签名以及第四签名作为包括待签名数据的签名。
[0009]根据本公开的第二方面,提供了一种安全认证方法。该安全认证方法包括:获取联盟区块链上成员发送的签名以及联盟区块链上的公开参数,签名基于第一方面中任一项的生成签名的方法得到;基于公开参数检测签名的合法性;响应于检测到签名合法,对签名进行解析,得到待签名数据;执行待签名数据对应的业务。
[0010]在本公开的一些实施例中,上述公开参数包括:第一公钥、第二公钥、第三公钥、散列函数,其中,第二公钥由第一公钥生成,第三公钥由第一公钥和第二公钥计算得到;基于公开参数检测签名的合法性,包括:划分签名中的待签名数据、签名时间、第一签名、第二签名、第三签名以及第四签名;采用散列函数对待签名数据以及签名时间进行签名计算,得到签名消息字符串;基于预先获取的用户公钥和第一签名,计算得到第一双线性对值;基于签名消息字符串、身份信息、第二签名、第四签名,计算得到第二双线性对值;响应于检测到第一双线性对值等于第二双线性对值,确定签名合法。
[0011]根据本公开的第三方面,提供了一种生成签名的装置。该装置包括:接收单元,被配置成接收基于身份信息和公开参数生成的用户私钥;确定单元,被配置成响应于用户私钥的验证结果正确,确定用户私钥合法;参数获取单元,被配置成响应于接收到待签名数据,从联盟区块链获取公开参数;生成单元,被配置成基于公开参数、待签名数据、签名时间以及用户私钥,生成包括待签名数据的签名;发送单元,被配置成将签名发送给联盟区块链上的接收者,以使接收者基于公开参数检测签名的合法性。
[0012]在本公开的一些实施例中,上述装置还包括:拒收单元,被配置成响应于用户私钥的验证结果不正确,拒收用户私钥,并发出重新申请私钥的请求。
[0013]在本公开的一些实施例中,上述公开参数包括:公钥参数以及散列函数,用户私钥采用如下步骤生成:接收由监管节点发送的监管密钥,监管密钥包括:身份密钥和随机密钥;身份密钥基于身份信息、公钥参数以及随机选取的随机整数生成;随机密钥基于散列函数以及随机整数生成;接收由管理节点生成的管理密钥,管理密钥基于身份信息生成;将监管密钥和管理密钥作为用户私钥。
[0014]在本公开的一些实施例中,上述确定单元被配置成:确定用户私钥中的随机密钥、身份密钥以及管理密钥;基于管理密钥,确定用户公钥;基于用户公钥、身份密钥以及管理密钥,得到第一私钥;基于随机密钥、公开参数以及身份信息,得到第二私钥;检测第一私钥与第二私钥是否相等;若第一私钥与第二私钥相等,确定用户私钥合法。
[0015]在本公开的一些实施例中,上述生成单元进一步被配置成:采用散列函数对待签名数据以及签名时间进行签名计算,得到签名消息字符串;获取签名随机值;基于身份密钥、管理密钥、签名随机值以及签名消息字符串,计算得到第一签名;基于随机密钥和签名随机值,计算得到第二签名;基于签名随机值、第公钥参数,计算得到第三签名;基于签名随机值和公钥参数,计算得到第四签名;将待签名数据、签名时间、第一签名、第二签名、第三签名以及第四签名作为包括待签名数据的签名。
[0016]根据本公开的第四方面,提供了一种安全认证装置。该装置包括:数据获取单元,被配置成获取联盟区块链上成员发送的签名以及联盟区块链上的公开参数,签名基于如第三方面任一项的生成签名的装置得到;检测单元,被配置成基于公开参数检测签名的合法
性;解析单元,被配置成响应于检测到签名合法,对签名进行解析,得到待签名数据;执行单元,被配置成执行待签名数据对应的业务。
[0017]在本公开的一些实施例中,上述公开参数包括:第一公钥、第二公钥、第三公钥、散列函数,其中,第二公钥由第一公钥生成,第三公钥由第一公钥和第二公钥计算得到;检测单元进一步被配置成:划分签名中的待签名数据、签名时间、第一签名、第二签名、第三签名以及第四签名;采用散列函数对待签名数据以及签名时间进行签名计算,得到签名消息字符串;基于预先获取的用户公钥和第一签名,计算得到第一双线性对值;基于签名消息字符串、身份信息、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成签名的方法,所述方法包括:接收基于身份信息和公开参数生成的用户私钥;响应于所述用户私钥的验证结果正确,确定所述用户私钥合法;响应于接收到待签名数据,从联盟区块链获取所述公开参数;基于所述公开参数、所述待签名数据、签名时间以及所述用户私钥,生成包括所述待签名数据的签名;将所述签名发送给所述联盟区块链上的接收者,以使所述接收者基于所述公开参数检测所述签名的合法性。2.根据权利要求1所述的方法,所述方法还包括:响应于所述用户私钥的验证结果不正确,拒收所述用户私钥,并发出重新申请私钥的请求。3.根据权利要求1所述的方法,所述公开参数包括:公钥参数以及散列函数,所述用户私钥采用如下步骤生成:接收由监管节点发送的监管密钥,所述监管密钥包括:身份密钥和随机密钥;所述身份密钥基于所述身份信息、所述公钥参数以及随机选取的随机整数生成;所述随机密钥基于所述散列函数以及所述随机整数生成;接收由管理节点生成的管理密钥,所述管理密钥基于所述身份信息生成;将所述监管密钥和所述管理密钥作为用户私钥。4.根据权利要求3所述的方法,所述响应于所述用户私钥的验证结果正确,确定所述用户私钥合法包括:确定所述用户私钥中的随机密钥、身份密钥以及管理密钥;基于管理密钥,确定用户公钥;基于所述用户公钥、所述身份密钥以及所述管理密钥,得到第一私钥;基于所述随机密钥、所述公开参数以及所述身份信息,得到第二私钥;检测所述第一私钥与所述第二私钥是否相等;若所述第一私钥与所述第二私钥相等,确定所述用户私钥合法。5.根据权利要求4所述的方法,其中,所述基于所述公开参数、所述待签名数据、签名时间以及所述用户私钥,生成包括所述待签名数据的签名包括:采用所述散列函数对所述待签名数据以及签名时间进行签名计算,得到签名消息字符串;获取签名随机值;基于所述身份密钥、所述管理密钥、所述签名随机值以及所述签名消息字符串,计算得到第一签名;基于所述随机密钥和所述签名随机值,计算得到第二签名;基于所述签名随机值、所述第公钥参数,计算得到第三签名;基于所述签名随机值和所述公钥参数,计算得到第四签名;将所述待签名数据、所述签名时间、所述第一签名、所述第二签名、第三签名以及所述第四签名作为包括所述待签名数据的签名。6.一种安全认证方法,所述方法包括:
获取联盟区块链上成员发送的签名以及所述联盟区块链上的公...

【专利技术属性】
技术研发人员:管桂林曹扬支婷牛振东刘晓军
申请(专利权)人:中电科大数据研究院有限公司
类型:发明
国别省市:

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

1