一种基于区块链的用户私钥签发方法技术

技术编号:39408405 阅读:7 留言:0更新日期:2023-11-19 16:00
本申请公开了一种基于区块链的用户私钥签发方法。该方法包括通过区块链系统中的目标密钥生成中心节点,接收资源发送客户端发送的用户私钥签发请求,用户私钥签发请求提供用户标识;在区块链系统有更新的情况下,更新目标密钥生成中心节点的目标值;从区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个参与节点;通过目标参与节点,根据更新后的目标值,生成主私钥分片;通过目标参与节点,根据主私钥分片和用户标识,确定预备用户私钥,以通过资源发送客户端接收所述预备用户私钥,并签发目标用户私钥。采用本方法能够提高分布式用户私钥签发过程的安全性和灵活性。性。性。

【技术实现步骤摘要】
一种基于区块链的用户私钥签发方法


[0001]本申请涉及标识密码算法
,更具体地,涉及一种基于区块链的用户私钥签发方法。

技术介绍

[0002]随着区块链技术的发展,区块链交易中用户的区块链地址和公钥通常表现为无规则的16进制编码,其中区块链地址通常是160位的比特串,公钥通常是512位的比特串。这种用户地址及公钥的定义方式存在难记、易混、易用性较差等问题,被攻击者伪造混淆的可能性大,同时也增加了用户的使用难度,当确认重要的交易时,往往需要多次逐位地校对字符。
[0003]为了降低公钥系统中密钥管理和使用的复杂性,Shamir在1984年提出了基于标识的密码技术(Identity

Based Cryptography,IBC),实现将用户自定义的标识用做用户的公钥。IBC简单来讲是用户首先自定义一个标识(如名称、电子邮件地址、域名等)作为公钥,然后私钥由一个中心化的密钥生成中心(Key Generation Center,KGC)生成并发送给用户。
[0004]SM9是我国自主设计的IBC标识密码算法,已纳入ISO/IEC国际标准,可有效满足信息系统的共性安全需求。但是,传统SM9签名标准生成用户私钥的过程是通过中心化的KGC完成的,一方面不符合区块链去中心化的节点结构,另一方面KGC持有用户的全部私钥,这一事实可能成为安全攻击中的一处潜在漏洞。
[0005]此外,由于区块链节点的不确定性和开放性,在签发用户私钥的过程中,节点可能部分离线,也可能存在新节点加入、旧节点退出的情况。然而,传统SM9签名标准生成用户私钥的方法,不支持节点自由进出,从而导致各个节点的信息无法更新,降低了签发用户私钥过程的安全性和灵活性。

技术实现思路

[0006]针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种基于区块链的用户私钥签发方法,支持各节点的节点信息更新,从而能够提高分布式用户私钥签发过程的安全性。
[0007]为实现上述目的,本专利技术提供了一种基于区块链的用户私钥签发方法,该方法,包括:
[0008]通过区块链系统中的目标密钥生成中心节点,接收资源发送客户端发送的用户私钥签发请求,用户私钥签发请求提供用户标识;
[0009]在区块链系统有更新的情况下,更新目标密钥生成中心节点的目标值;区块链系统有更新包括定期更新、至少一个密钥生成中心节点退出区块链系统、至少一个新的密钥生成中心节点加入至区块链系统、至少一个密钥生成中心节点申请数据恢复中的至少一种;
[0010]从区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个参与节点;
[0011]通过目标参与节点,根据更新后的目标值,生成主私钥分片;
[0012]通过目标参与节点,根据主私钥分片和用户标识,确定预备用户私钥,以通过资源发送客户端接收所述预备用户私钥,并签发目标用户私钥。
[0013]进一步地,在区块链系统有更新是定期更新的情况下,更新目标密钥生成中心节点的目标值,包括:通过目标密钥生成中心节点,生成第一多项式函数,第一多项式函数的常数项为零;通过目标密钥生成中心节点,基于目标数量个自变量取值和第一多项式函数,计算得到目标数量个第一函数值,目标数量个第一函数值包括第一自身函数值和第一关联函数值;通过目标密钥生成中心节点,将第一关联函数值分别广播给其余密钥生成中心节点;通过目标密钥生成中心节点根据第一自身函数值、其余密钥生成中心节点的第一关联函数值、以及目标值,得到更新后的目标值。
[0014]进一步地,在区块链系统有更新是至少一个密钥生成中心节点退出区块链系统的情况下,更新目标密钥生成中心节点的目标值,包括:通过指派节点,生成第二多项式函数,第二多项式函数的常数项为零,指派节点是区块链系统中的任一在线的密钥生成中心节点;通过指派节点,根据剩余的自变量取值和第二多项式函数,计算得到剩余数量个第二函数值,剩余数量个第二函数值包括第二自身函数值和第二关联函数值;通过指派节点,将第二关联函数值分别广播给除指派节点之外的各密钥生成中心节点;通过指派节点,根据第二自身函数值和目标值,得到更新后的目标值;通过除指派节点之外的各密钥生成中心节点,根据指派节点的第二关联函数值和目标值,得到更新后的目标值。
[0015]进一步地,在区块链系统有更新是至少一个新的密钥生成中心节点加入至区块链系统的情况下,更新目标密钥生成中心节点的目标值,包括:通过新的密钥生成中心节点,生成新的自变量取值,并将新的自变量取值广播给区块链系统中的各密钥生成中心节点;从区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个协助节点;通过目标协助节点,生成第三多项式函数,第三多项式函数的常数项通过第三随机正整数与新的自变量取值计算得到;通过目标协助节点,基于预设数量个自变量取值和第三多项式函数,计算得到预设数量个第三函数值,预设数量个第三函数值包括第三自身函数值和第三关联函数值;通过目标协助节点,将第三关联函数值分别广播给其余协助节点;通过目标协助节点,根据第三自身函数值、其余协助节点的第三关联函数值、以及目标值,得到伪目标值,并将伪目标值发送给新的密钥生成中心节点;通过新的密钥生成中心节点,根据预设数量个伪目标值、预设数量个自变量取值、新的自变量取值、第一随机正整数的和,确定新的密钥生成中心节点的目标值。
[0016]进一步地,基于区块链的用户私钥签发方法还包括:通过新的密钥生成中心节点,生成预设数量个第一随机正整数,并将预设数量个第一随机正整数广播给对应的协助节点;通过新的密钥生成中心节点,计算预设数量个第一随机正整数的和;通过目标协助节点,将对应的第一随机正整数进行分解,生成预设数量个第二随机正整数,预设数量个第二随机正整数包括自身随机值和关联随机值;通过目标协助节点,将关联随机值分别广播给其余协助节点;通过目标协助节点,根据自身随机值、其余协助节点的关联随机值,得到第三随机正整数。
[0017]进一步地,在区块链系统有更新是至少一个密钥生成中心节点申请数据恢复的情况下,更新目标密钥生成中心节点的目标值,包括:通过出现数据丢失的密钥生成中心节点,将其自变量取值广播给所述区块链系统中的各密钥生成中心节点;从区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个协助节点;通过目标协助节点,生成第三多项式函数,第三多项式函数的常数项通过第三随机正整数与出现数据丢失的密钥生成中心节点的自变量取值计算得到;通过目标协助节点,基于预设数量个自变量取值和第三多项式函数,计算得到预设数量个第三函数值,预设数量个第三函数值包括第三自身函数值和第三关联函数值;通过目标协助节点,将第三关联函数值分别广播给其余协助节点;通过目标协助节点,根据第三自身函数值、其余协助节点的第三关联函数值、以及目标值,得到伪目标值,并将伪目标值发送给出现数据丢失的密钥生成中心节点;通过出现数据丢失的密钥生成中心节点,根据预设数量个伪目标值、预设数量个自变量取值、出现数据丢失的密钥生成中心节点的自变量取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的用户私钥签发方法,其特征在于,包括:通过区块链系统中的目标密钥生成中心节点,接收资源发送客户端发送的用户私钥签发请求,所述用户私钥签发请求提供用户标识;在区块链系统有更新的情况下,更新目标密钥生成中心节点的目标值;所述区块链系统有更新包括定期更新、至少一个密钥生成中心节点退出所述区块链系统、至少一个新的密钥生成中心节点加入至所述区块链系统、至少一个密钥生成中心节点申请数据恢复中的至少一种;从所述区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个参与节点;通过目标参与节点,根据更新后的目标值,生成主私钥分片;通过所述目标参与节点,根据所述主私钥分片和所述用户标识,确定预备用户私钥,以通过所述资源发送客户端接收所述预备用户私钥,并签发目标用户私钥。2.如权利要求1所述的方法,其特征在于,在区块链系统有更新是定期更新的情况下,更新目标密钥生成中心节点的目标值,包括:通过所述目标密钥生成中心节点,生成第一多项式函数,所述第一多项式函数的常数项为零;通过所述目标密钥生成中心节点,基于目标数量个自变量取值和所述第一多项式函数,计算得到目标数量个第一函数值,所述目标数量个第一函数值包括第一自身函数值和第一关联函数值;通过所述目标密钥生成中心节点,将所述第一关联函数值分别广播给其余密钥生成中心节点;通过目标密钥生成中心节点根据所述第一自身函数值、其余密钥生成中心节点的第一关联函数值、以及目标值,得到更新后的目标值。3.如权利要求1所述的方法,其特征在于,在区块链系统有更新是至少一个密钥生成中心节点退出所述区块链系统的情况下,更新目标密钥生成中心节点的目标值,包括:通过指派节点,生成第二多项式函数,所述第二多项式函数的常数项为零,所述指派节点是所述区块链系统中的任一在线的密钥生成中心节点;通过所述指派节点,根据剩余的自变量取值和所述第二多项式函数,计算得到剩余数量个第二函数值,所述剩余数量个第二函数值包括第二自身函数值和第二关联函数值;通过所述指派节点,将所述第二关联函数值分别广播给除指派节点之外的各密钥生成中心节点;通过所述指派节点,根据所述第二自身函数值和目标值,得到更新后的目标值;通过所述除指派节点之外的各密钥生成中心节点,根据指派节点的第二关联函数值和目标值,得到更新后的目标值。4.如权利要求1所述的方法,其特征在于,在区块链系统有更新是至少一个新的密钥生成中心节点加入至所述区块链系统的情况下,更新目标密钥生成中心节点的目标值,包括:通过新的密钥生成中心节点,生成新的自变量取值,并将所述新的自变量取值广播给所述区块链系统中的各密钥生成中心节点;从所述区块链系统中任选预设数量个在线的密钥生成中心节点,得到预设数量个协助
节点;通过目标协助节点,生成第三多项式函数,第三多项式函数的常数项通过第三随机正整数与所述新的自变量取值计算得到;通过所述目标协助节点,基于预设数量个自变量取值和所述第三多项式函数,计算得到预设数量个第三函数值,所述预设数量个第三函数值包括第三自身函数值和第三关联函数值;通过所述目标协助节点,将所述第三关联函数值分别广播给其余协助节点;通过所述目标协助节点,根据所述第三自身函数值、其余协助节点的第三关联函数值、以及目标值,得到伪目标值,并将伪目标值发送给所述新的密钥生成中心节点;通过所述新的密钥生成中心节点,根据预设数量个所述伪目标值、预设数量个自变量取值、所述新的自变量取值、第一随机正整数的和,确定新的密钥生成中心节点的目标值。5.如权利要求4所述的方法,其特征在于,所述方法还包括:通过所述新的密钥生成中心节点,生成预设数量个第一随机正整数,并将所述预设数量个第一随机正整数广播给对应的协助节点;通过所述新的密钥生成中心节点,计算预设数量个第一随机正整数的和;通过所述目标协助节点,将对应的第一随机正整数进行分解,生成预设数量个第二随机正整数,所述预设数量个第二随机正整数包括自身随机值和关联随机值;通过所述目标协助节...

【专利技术属性】
技术研发人员:李汝佳刘云霞刘思仝广赞
申请(专利权)人:郑州师范学院
类型:发明
国别省市:

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

1