证书颁发方法、系统和区块链节点与流程

文档序号:37484499发布日期:2024-04-01 13:53阅读:11来源:国知局
证书颁发方法、系统和区块链节点与流程

本说明书实施例属于区块链,尤其涉及一种证书颁发方法、系统和区块链节点。


背景技术:

1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。

2、在密码学中,公开钥匙密码学,简称公钥密码学,又称非对称密码学,是使用一对公钥和私钥(公钥-私钥记为pk-sk,其中pk表示public key,sk表示secret key)的密码学,与只用一个私钥密码学相对应。公钥密码学包括加密算法和数字签名算法。公钥-私钥密码对是现代密码学安全的基石,很多的应用都是基于pk-sk,例如基于https(hypertexttransfer protocol secure,安全的超文本传输协议)应用层加密传输协议以及区块链等。

3、私钥通常代表拥有该私钥的一方的身份,其只能由私钥的拥有者持有,不能公开,而对应的公钥可以公开出去。使用私钥进行的签名可以表示私钥拥有者对数字世界的某种信息进行的认可,签名的信息在协议的消息中也可以表示私钥拥有者的某种行为。一般的,一个拥有者单独拥有一个私钥,则这个拥有者可以采用自身私钥对某个信息进行签名后发给其它方。接收方收到这个签名后,可以采用对应的公钥对该签名进行验证。验证通过,则接收方可以确认是拥有者对该信息进行了签名,且所签名的信息没有被篡改。

4、用户可从证书认证机构(cerrificate authority,ca)获取其公私钥对和ca证书(即数字证书),ca证书中包含证书拥有者的信息、公钥、有效期信息、和ca机构对上述信息的签名。验证者可使用ca机构的公钥验证ca证书的真实性和完整性,在验证通过的情况下,该ca证书可证明其拥有者的实体身份与其公钥的匹配关系。


技术实现思路

1、本发明的目的在于提供一种基于区块链系统的证书颁发方法,以使得可在区块链系统中通过合约进行ca证书颁发,保证了ca证书的正确性,同时提供了面向区块链系统的ca证书体系。

2、本说明书第一方面提供一种基于区块链系统的证书颁发方法,所述区块链系统中部署有ca合约和签名合约,所述ca合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述ca合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,所述方法包括:

3、所述区块链系统接收调用所述ca合约的第一交易,所述第一交易中包括用户证书颁发请求;将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;根据所述签名合约,指示所述n个服务方中的至少t+1个服务方生成与所述签名公钥对应的签名;

4、所述至少t+1个服务方基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;向所述区块链系统发送调用所述签名合约的第二交易,所述第二交易中包括所述ca合约的合约账户和所述第一签名;

5、所述区块链系统根据所述第二交易将所述第一签名返回给所述ca合约,通过执行所述ca合约,基于所述第一签名颁发用户证书。

6、本说明书第二方明提供一种基于区块链系统的证书颁发方法,由区块链系统中的节点执行,所述区块链系统中部署有ca合约和签名合约,所述ca合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述ca合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,所述方法包括:

7、接收调用所述ca合约的第一交易,所述第一交易中包括用户证书颁发请求;

8、将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;

9、根据所述签名合约,指示所述n个服务方中的至少t+1个服务方基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;

10、从所述至少t+1个服务方接收调用所述签名合约的第二交易,所述第二交易中包括所述ca合约的合约账户和所述第一签名;

11、根据所述第二交易将所述第一签名返回给所述ca合约,通过执行所述ca合约,基于所述第一签名颁发用户证书。

12、本说明书第三发明提供一种证书颁发系统,包括区块链系统和多个服务方设备,所述区块链系统中部署有ca合约和签名合约,所述ca合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述ca合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,

13、所述区块链系统用于:接收调用所述ca合约的第一交易,所述第一交易中包括用户证书颁发请求;将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;根据所述签名合约,指示所述n个服务方中的至少t+1个服务方的服务方设备生成与所述签名公钥对应的签名;

14、所述至少t+1个服务方设备用于:基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;向所述区块链系统发送调用所述签名合约的第二交易,所述第二交易中包括所述ca合约的合约账户和所述第一签名;

15、所述区块链系统还用于:根据所述第二交易将所述第一签名返回给所述ca合约,通过执行所述ca合约,基于所述第一签名颁发用户证书。

16、本说明书第四方面提供一种区块链系统的节点,所述区块链系统中部署有ca合约和签名合约,所述ca合约中包括对所述签名合约的调用,所述签名合约的合约状态中与所述ca合约的账户关联地存储有签名公钥、以及参数n和t的信息,所述签名公钥由n个服务方通过分布式密钥协议生成,所述节点包括:

17、接收单元,用于接收调用所述ca合约的第一交易,所述第一交易中包括用户证书颁发请求;

18、提供单元,用于将所述用户证书颁发请求对应的用户证书内容的摘要提供给所述签名合约;

19、签名单元,用于根据所述签名合约,指示所述n个服务方中的至少t+1个服务方基于与所述签名公钥对应的私钥分片生成对所述用户证书内容的第一签名;

20、所述接收单元还用于,从所述至少t+1个服务方接收调用所述签名合约的第二交易,所述第二交易中包括所述ca合约的合约账户和所述第一签名;

21、颁发单元,用于根据所述第二交易将所述第一签名返回给所述ca合约,通过执行所述ca合约,基于所述第一签名颁发用户证书。

22、本说明书第五方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。

23、本说明书第六方面提供一种区块链节点,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。

24、在本说明书实施例提供的方案中,由区块链系统中的ca合约调用基于分布式(门限)签名技术的签名合约来生成ca证书的证书签名,整个过程不存在完整的私钥,并能够容忍一定程度的私钥分片泄漏与丢失,从而有效避免不当的私钥管理带来的安全风险;通过基于ca合约的去中心化的管理模型,提高证书操作门槛,降低误操作风险,有效避免误发证书;通过区块链系统将证书生命周期管理过程透明化,有效避免滥发证书,同时通过ca合约基于当前区块确定证书生效时间,提供了区块链系统中的一致性。

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