一种提供区块链用户友好地址及公钥的方法和系统

文档序号:35122440发布日期:2023-08-14 16:09阅读:35来源:国知局
一种提供区块链用户友好地址及公钥的方法和系统

本技术涉及数字签名,更具体地,涉及一种提供区块链用户友好地址及公钥的方法和系统。


背景技术:

1、随着数字签名技术的发展,出现了基于标识的密码学(identity basedcryptography,简称ibc),其允许将例如名称、电子邮件地址、域名等用户标识符用作公钥,私钥由一个中心化的密钥生成中心(key generation center,简称kgc)生成并通过安全传输通道发送给用户,能够解决公钥密码学中基于公钥基础设施(public keyinfrastructure,简称pki)证书管理所存在的问题,例如用户证书的保存、分发等安全问题,认证机构(certificate authority,简称ca)资格的更新与维护问题等。

2、然而,ibc仍然存在以下问题:密钥托管和安全信道问题。密钥托管问题是指中心化的kgc机构知道所有用户的私钥,很可能成为安全攻击的一个短板。安全信道问题是指kgc机构生成用户密钥后,在将用户密钥发给用户的过程中难以保证传输信道无截取、窃听等安全问题。因此,在使用私钥进行签名、使用匹配的公钥进行验证签名的情况下,如何提高私钥签发过程的安全性成为亟待解决的问题。


技术实现思路

1、针对现有技术的至少一个缺陷或改进需求,本发明提供了一种提供区块链用户友好地址及公钥的方法和系统,能够提高用户公钥和区块链地址的用户友好性,还能够提高用户私钥签发过程的安全性。

2、为实现上述目的,按照本发明的第一个方面,提供了一种提供区块链用户友好地址及公钥的方法,该方法包括:

3、通过区块链系统中的目标密钥生成中心节点,接收资源发送客户端发送的用户私钥签发请求,用户私钥签发请求包括用户公钥和用户随机数,用户公钥为资源发送客户端所属用户的用户标识符;

4、通过目标密钥生成中心节点,根据主私钥分片和用户公钥,确定预备用户私钥,并将预备用户私钥发送至资源发送客户端;

5、通过资源发送客户端,向资源接收客户端发送区块链资源,产生区块链资源转移信息,其中,资源接收客户端的区块链地址为资源接收客户端所属用户的用户标识符,资源发送客户端的区块链地址为用户公钥;

6、通过资源发送客户端,根据预备用户私钥和用户随机数,对区块链资源转移信息进行签名,得到加密资源转移信息,并将加密资源转移信息发送至目标密钥生成中心节点;

7、通过目标密钥生成中心,根据用户公钥对加密资源转移信息进行验证,并对验证通过的区块链资源转移信息进行记录。

8、进一步地,根据预备用户私钥和用户随机数,对区块链资源转移信息进行签名,得到加密资源转移信息,包括根据预备用户私钥和用户随机数,签发目标用户私钥;使用主公钥和目标用户私钥,对区块链资源转移信息进行签名,得到加密资源转移信息。

9、进一步地,该方法还包括通过目标密钥生成中心节点,生成主公钥分片,并将主公钥分片广播给区块链系统中的其余密钥生成中心节点;对主公钥分片以及从其余密钥生成中心节点接收到的主公钥分片进行求和,得到主公钥;将主公钥发送至资源发送客户端。

10、进一步地,根据主私钥分片和用户公钥,确定预备用户私钥,包括生成主私钥分片;根据主私钥分片和用户公钥,通过标识密码算法生成用户私钥分片,并将用户私钥分片广播给区块链系统中的其余密钥生成中心节点;根据用户私钥分片以及从其余密钥生成中心节点接收到的用户私钥分片,确定预备用户私钥。

11、进一步地,在区块链系统中的所有密钥生成中心节点均在线的情况下,生成主私钥分片,包括:生成随机整数,将随机整数作为主私钥分片。

12、进一步地,在区块链系统中的部分密钥生成中心节点在线、且目标密钥生成中心节点在线的情况下,生成主私钥分片,包括:生成随机多项式;基于随机多项式,计算得到目标函数值,并将目标函数值中的关联函数值分别广播给其余密钥生成中心节点;根据目标函数值中的自身函数值和其余密钥生成中心节点的关联函数值,确定目标和值;根据随机多项式的自变量和目标和值,确定主私钥分片。

13、进一步地,根据主私钥分片和用户公钥,通过标识密码算法生成用户私钥分片,并将用户私钥分片广播给其余密钥生成中心节点,包括:根据主私钥分片和用户公钥,确定第二用户值;基于第一节点随机数和第二节点随机数,确定第一差值;基于第二用户值和第三节点随机数,确定第二差值;将第一差值和第二差值分别广播给其余密钥生成中心节点;基于第一差值、第二差值、第二节点随机数、第三节点随机数以及第四节点随机数,确定用户私钥分片,并将用户私钥分片广播给其余密钥生成中心节点。

14、进一步地,根据用户私钥分片以及从其余密钥生成中心节点接收到的用户私钥分片,确定预备用户私钥,包括:对用户私钥分片以及从其余密钥生成中心节点接收到的用户私钥分片进行求和,得到用户私钥分片和值;根据第一节点随机数和第一用户值,确定第三用户值,并将第三用户值广播给其余密钥生成中心节点;对第三用户值以及从其余密钥生成中心节点接收到的第三用户值进行求和,得到第三用户值和值;将第三用户值和值与用户私钥分片和值的比值,作为预备用户私钥。

15、进一步地,目标密钥生成中心节点通过更新区块链、智能合约或跨链兼容中的至少一种确定。

16、按照本发明的第二个方面,还提供了一种提供区块链用户友好地址及公钥的系统,其包括:

17、区块链系统中的目标密钥生成中心节点,其被配置为接收资源发送客户端发送的用户私钥签发请求,用户私钥签发请求包括用户公钥和用户随机数,用户公钥为资源发送客户端所属用户的用户标识符;

18、目标密钥生成中心节点,其还被配置为根据主私钥分片和用户公钥,确定预备用户私钥,并将预备用户私钥发送至资源发送客户端;

19、资源发送客户端,其被配置为向资源接收客户端发送区块链资源,产生区块链资源转移信息,其中,资源接收客户端的区块链地址为资源接收客户端所属用户的用户标识符,资源发送客户端的区块链地址为用户公钥;

20、资源发送客户端,其还被配置为根据预备用户私钥和用户随机数,对区块链资源转移信息进行签名,得到加密资源转移信息,并将加密资源转移信息发送至目标密钥生成中心节点;

21、目标密钥生成中心,其还被配置为根据用户公钥对加密资源转移信息进行验证,并对验证通过的区块链资源转移信息进行记录。

22、总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

23、(1)本发明提供的一种提供区块链用户友好地址及公钥的方法,能够为区块链用户提供友好的区块链地址以及用户公钥。用户公钥和区块链地址是统一的,既可以作为公钥验证数字签名,也可以作为区块链地址收发区块链资源,并且采用便于记忆和识别的用户标识符作为用户公钥和区块链地址,可以为个人和企业提供个性化的用户公钥和区块链地址服务,例如使用个人或企业的名称、电子邮件地址、域名等作为区块链用户的用户公钥和区块链地址。因此,达到了提高用户公钥和区块链地址的用户友好性的目的。

24、(2)目标密钥生成中心节点所签发的只是预备用户私钥,区块链用户收到预备用户私钥后根据预备用户私钥和用户随机数生成正式的目标用户私钥,这能够有效解决签发节点或传输信道被攻击破获等问题,从而能够达到保证用户私钥签发过程的安全性的目的。

25、(3)通过分布式的方式签发预备用户私钥,用于签发的主私钥不再由中心化的kgc机构保存,而是以主私钥分片这种分片的形式秘密保存于多个密钥生成中心节点。在分布式签发预备用户私钥过程中各个节点也无法获知主私钥,因此具有更高的安全性,能够达到提高用户私钥签发过程的安全性的目的。

26、(4)使用一种门限方案,保证在部分密钥生成中心节点离线时依然可以完成用户私钥签发。

27、(5)兼容性强,可以基于该方法构建新的区块链,也可以通过现有的区块链智能合约来实现该方法,还可以通过基于分布式门限ecdsa等协议构建的区块链适配器,为绝大多数的区块链系统提供用户友好的地址(公钥)服务。同时,能够分布式签发符合sm9、ieeep1363.ibs等标识密码算法国际标准的用户私钥。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1