一种基于区块链的CA认证方法、装置及电子设备与流程

文档序号:16267696发布日期:2018-12-14 22:01阅读:358来源:国知局
一种基于区块链的CA认证方法、装置及电子设备与流程

本申请涉及信息安全技术领域,尤其是涉及一种基于区块链的ca认证方法、装置及电子设备。

背景技术

电子商务认证授权机构,即ca(certificateauthority)认证授权中心,作为权威的、可信赖的、公正的第三方机构,专门负责发放并管理所有参与网上交易实体所需的数字证书,是安全电子信息交换的核心。

目前国内的ca认证授权中心是将电子信息集中存放在信息系统并集中进行管理,一旦ca认证授权中心的信息系统遭受恶意攻击,可能会导致其下发的所有数字证书存在信息安全风险,这种中心化信息系统存在电子信息存放和管理安全性的问题。例如,用户的各种证书都是以明文的形式存放在证书数据库中,证书数据库受到外部黑客攻击或者内部管理人员的窥探后,攻击者可以获取并替换用户的全部实体ca证书、各个中级ca证书和根ca证书,对用户的信息安全造成严重的威胁。



技术实现要素:

有鉴于此,本申请的目的在于提供一种基于区块链的ca认证方法、装置及电子设备,以实现ca认证授权中心去中心化。

第一方面,本申请实施例提供了一种基于区块链的ca认证方法,包括:

接收客户端发送的申请数字证书的请求消息;

获取所述请求消息中的申请者信息和用户公钥;

获取区块链中预设节点的子密钥,并生成签名钥;

利用所述签名钥对所述申请者信息和所述用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,

所述获取区块链中预设节点的子密钥,并生成签名钥,还包括:

向所述预设节点发送调用子密钥的请求;

接收所述预设节点针对所述调用子密钥的请求发送的子密钥;

利用门限算法将所有所述子密钥生成签名钥。

结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,

所述利用所述签名钥对所述申请者信息和所述用户公钥进行签名,形成签名信息,包括:

利用摘要算法将所述申请者信息和所述用户公钥形成第一摘要;

利用所述签名钥中的私钥对所述第一摘要进行签名,形成签名信息。

结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,还包括:

接收客户端发送的验证数字证书合法性的验证请求消息,其中所述验证请求消息包括所述数字证书的签名信息;

向所述预设节点发送子密钥调用请求;

接收所述预设节点针对所述子密钥调用请求发送的子密钥;

利用门限算法将接收的所述子密钥生成签名钥;

利用所述签名钥对所述数字证书的签名信息进行验证。

结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,

所述利用所述签名钥对所述数字证书的签名信息进行验证,还包括:

获取区块链的区块中保存的与所述数字证书的签名信息相对应的申请者信息和用户公钥;

利用摘要算法将获取的所述申请者信息和所述用户公钥形成第二摘要;

利用所述签名钥中的公钥对所述数字证书的签名信息进行解密,获取所述数字证书的签名信息中的第三摘要;

若所述第二摘要与所述第三摘要相同,则验证通过。

结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,还包括:

生成签名钥;

利用门限算法将所述签名钥分成多个子密钥;

将多个所述子密钥分发给所述预设节点。

结合第一方面,本申请实施例提供了第一方面的第六种可能的实施方式,其中,

所述将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,包括:

将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,并通过广播的方式发送到所述区块链中的其他所有节点。

第二方面,本申请实施例还提供一种基于区块链的ca认证装置,包括:

接收模块,用于接收客户端发送的申请数字证书的请求信息;

获取模块,用于获取所述请求消息中的申请者信息和用户公钥;

签名钥生成模块:用于获取区块链中预设节点的子密钥,并生成签名钥;

签名模块:用于利用所述签名钥对所述申请者信息和用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面或第一方面中任一种可能的实施方式中的步骤。

第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第二方面中任一种可能的实施方式中的步骤。

本申请实施例提供的一种基于区块链的ca认证方法、装置及电子设备,采用区块链技术,通过接收客户端发送的申请数字证书的请求消息,获取所述请求消息中的申请者信息和用户公钥,获取区块链中预设节点的子密钥,并生成签名钥,利用所述签名钥对所述申请者信息和所述用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书。与现有ca认证授权中心信息系统中心化,将电子信息集中存放在信息系统并集中进行管理相比,可以实现ca认证授权中心去中心化,而且还可以降低用户信息安全风险。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种基于区块链的ca认证方法的流程图;

图2示出了本申请实施例所提供的另一种基于区块链的ca认证方法的流程图;

图3示出了本申请实施例所提供的另一种基于区块链的ca认证方法的流程图;

图4示出了本申请实施例所提供的一种基于区块链的ca认证装置的结构示意图;

图5示出了本申请实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

考虑到目前国内的ca认证授权中心是将电子信息集中存放在信息系统并集中进行管理,一旦ca认证授权中心的信息系统遭受恶意攻击,可能会导致其下发的所有数字证书存在信息安全风险,这种中心化信息系统存在电子信息存放和管理安全性的问题。基于此,本申请实施例提供了一种基于区块链的ca认证方法、装置和电子设备,下面通过实施例进行描述。为便于对本实施例进行理解,首先对本申请实施例所公开的一种基于区块链的ca认证方法进行详细介绍。

实施例一

本申请实施例一提供的一种基于区块链的ca认证方法,如图1所示,包括:

s101:接收客户端发送的申请数字证书的请求消息。

这里,可以接收客户端发送的申请不同种类的数字证书的请求消息。基于数字证书的应用角度分类,所述数字证书的种类可以分为服务器证书、电子邮件证书和个人证书。

s102:获取所述请求消息中的申请者信息和用户公钥。

若所述客户端申请的数字证书为服务器证书,所述申请者信息可以包括网站域名;若所述客户端申请的数字证书为电子邮件证书,所述申请者信息可以包括电子邮件地址;若所述客户端申请的数字证书为个人证书,所述申请者信息可以包括申请者的名称、通讯地址、证件号码、手机号、电子邮箱和邮政编码。

在具体实施中,所述客户端在发送所述申请数字证书的请求消息之前,申请所述数字证书的用户首先产生自己的密钥对,申请所述数字证书的用户将密钥对中的用户公钥以及所述申请者信息携带在所述申请数字证书的请求消息中。

s103:获取区块链中预设节点的子密钥,并生成签名钥。

在具体实施中,首先,向所述预设节点发送调用子密钥的请求,然后,接收所述预设节点针对所述调用子密钥的请求发送的子密钥,最后,利用门限算法将所有所述子密钥生成签名钥。

在具体实施中,在接收客户端发送的申请数字证书的请求消息之前,所述区块链中的任一节点通过随机数预先生成签名钥,所述节点利用门限算法将所述预先生成的签名钥分解成多个子密钥,所述节点将所述多个子密钥分发给预设节点,所述节点可以向所述预设节点中的任一节点发送至少一个所述子密钥,且所述预设节点中的任一节点接收到至少一个所述子密钥。

这里,所述随机数为随机字符串,预先生成签名钥的所述节点不永久保存该签名钥,例如当所述节点将所述多个子密钥分发给所述预设节点之后,所述节点即可清除所述预先生成的签名钥。

所述预设节点可以包括所述区块链中任意多个节点,所述预设节点接收到所述预先生成签名钥的节点发送的所述子密钥后,保存所述子密钥。

在具体实施中,当所述预设节点接收到调用子密钥的请求时,所述预设节点将保存的所述子密钥发送至发送所述调用子密钥的请求的节点。

接收到所述预设节点针对所述调用子密钥的请求发送的子密钥后,利用门限算法将所有所述子密钥生成签名钥,生成所述签名钥之后即可清除所有接收的所述子密钥。当再次接收到客户端发送的申请数字证书的请求消息时,需要重新获取所述预设节点的子密钥,并生成签名钥。这样可以实现ca认证授权中心的去中心化。

这里,所述门限算法可以是(k,n)门限秘密共享方法,所述(k,n)门限秘密共享方法是一种把一个密钥分成若干子密钥分给n个参与者掌管,这些参与者再通过重构得到完整密钥的方法。

s104:利用所述签名钥对所述申请者信息和所述用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

在具体实施中,首先利用摘要算法将所述申请者信息和所述用户公钥形成第一摘要,然后,通过签名算法利用所述签名钥中的私钥对所述第一摘要进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书。

这里,所述摘要算法可以是sm3哈希算法。利用sm3哈希算法可以将长度不固定的所述申请者信息和所述用户公钥变换成固定长度的所述第一摘要。因为如果需要签名的信息很长、运算量很大,会因加密时间过长而降低系统效率,因此利用所述摘要算法可以缩短加密时间、提高系统效率。

在具体实施中,通过所述签名算法利用所述签名钥中的私钥对所述第一摘要进行加密,形成签名信息,并且将所述签名信息、所述申请者信息以及所述用户公钥对应保存。

这里,所述签名算法可以是sm2非对称密码算法。所述签名算法和所述摘要算法均可以为国产密码技术或者国际密码技术。这里所述sm2非对称密码算法和sm3哈希算法均为国产密码技术。

在具体实施中,所述签名信息、所述申请者信息以及所述用户公钥通过广播的方式被发送到所述区块链中的其他所有节点。

在具体实施中,利用所述签名钥还可以对数字证书的版本号、序列号、颁发者名称、有效期和扩展信息进行签名。

实施例二

下面通过实施例二对本申请提供的一种基于区块链的ca认证方法中数字证书合法性验证的过程进行说明。

本申请实施例二提供的一种基于区块链的ca认证方法,如图2所示,包括:

s201:接收所述客户端发送的验证数字证书合法性的验证请求消息,其中所述验证请求消息包括所述数字证书的签名信息。

在具体实施中,验证数字证书合法性即验证所述数字证书的签名信息的合法性,这里需要利用在形成所述数字证书的签名信息时使用的签名钥对所述数字证书的签名信息进行验证。

s202:向所述预设节点发送子密钥调用请求。

在具体实施中,每次接收到所述客户端发送的验证数字证书合法性的验证请求消息时,都需要重新向所述预设节点发送子密钥调用请求。

这里,所述子密钥是对需要验证合法性的数字证书进行签名时使用的子密钥。

s203:接收所述预设节点针对所述子密钥调用请求发送的子密钥。

这里,接收所有所述预设节点针对所述子密钥调用请求发送的子密钥。

s204:利用门限算法将接收的所述子密钥生成签名钥。

在具体实施中,所述门限算法可以是(k,n)门限秘密共享方法。利用(k,n)门限秘密共享方法将接收的所有子密钥经过重构,得到签名钥。这里,所述签名钥即对需要验证合法性的所述数字证书进行签名时使用的签名钥。

在具体实施中,利用门限算法将接收的所述子密钥生成签名钥后即可清除所有接收的所述子密钥。

s205:利用所述签名钥对所述数字证书的签名信息进行验证。

在具体实施中,首先,获取保存在区块链的区块中的与所述数字证书的签名信息相对应的申请者信息和用户公钥,然后,利用摘要算法将获取的所述申请者信息和所述用户公钥形成第二摘要,然后,利用所述签名钥中的公钥对所述数字证书的签名信息进行解密,获取所述数字证书的签名信息中的第三摘要,最后,若所述第二摘要与所述第三摘要相同,则验证通过。

在具体实施中,需要利用在形成所述数字证书的签名信息时使用的摘要算法,这里,所述摘要算法还可以是sm3哈希算法。利用sm3哈希算法将获取所述申请者信息和所述用户公钥形成第二摘要。

在具体实施中,通过签名算法利用所述签名钥中的公钥对需要验证的所述数字证书的签名信息进行解密,获取所述数字证书的签名信息中的第三摘要之后,即可清除所述签名钥。所述第三摘要是在形成所述数字证书的签名信息时,利用所述摘要算法将申请数字证书的请求消息中申请者信息和用户公钥变换成固定长度的信息。

在具体实施中,若所述第二摘要与所述第三摘要相同,则验证通过,则所述数字证书的签名信息合法,也就是所述数字证书合法。

实施例三

本申请实施例三提供的另一种基于区块链的ca认证方法,如图3所示,包括:

s301:区块链中的任一节点接收客户端发送的申请数字证书的请求消息。

这里,所述区块链中的任一节点均可以接收客户端发送的申请不同种类的数字证书的请求消息。基于数字证书的应用角度分类,所述数字证书的种类可以分为服务器证书、电子邮件证书和个人证书。

s302:所述节点获取所述请求消息中的申请者信息和用户公钥。

若所述客户端申请的数字证书为服务器证书,所述申请者信息可以包括网站域名;若所述客户端申请的数字证书为电子邮件证书,所述申请者信息可以包括电子邮件地址;若所述客户端申请的数字证书为个人证书,所述申请者信息可以包括申请者的名称、通讯地址、证件号码、手机号、电子邮箱和邮政编码。

在具体实施中,所述客户端在发送所述申请数字证书的请求消息之前,申请所述数字证书的用户首先产生自己的密钥对,申请所述数字证书的用户将密钥对中的用户公钥以及所述申请者信息携带在所述申请数字证书的请求消息中。

s303:所述节点向区块链中预设节点发送调用子密钥的请求。

在具体实施中,在接收客户端发送的申请数字证书的请求消息之前,所述区块链中的任一节点通过随机数预先生成签名钥,所述节点利用门限算法将所述预先生成的签名钥分解成多个子密钥,所述节点将所述多个子密钥分发给预设节点,所述节点可以向所述预设节点中的任一节点发送至少一个所述子密钥,且所述预设节点中的任一节点接收到至少一个所述子密钥。

这里,所述随机数为随机字符串,预先生成签名钥的所述节点不永久保存该签名钥,例如当所述节点将所述多个子密钥分发给所述预设节点之后,所述节点即可清除所述预先生成的签名钥。

所述预设节点可以包括所述区块链中任意多个节点,所述预设节点接收到所述预先生成签名钥的节点发送的所述子密钥后,保存所述子密钥。

s304:所述预设节点发送针对所述调用子密钥的请求发送的子密钥。

在具体实施中,当所述预设节点接收到调用子密钥的请求时,所述预设节点将保存的所述子密钥发送至发送所述调用子密钥的请求的节点。

s305:所述节点接收所述预设节点针对所述调用子密钥的请求发送的子密钥,并将接收的所述子密钥生成签名钥。

在具体实施中,所述节点接收到所述预设节点针对所述调用子密钥的请求发送的子密钥后,利用门限算法将所有所述子密钥生成签名钥,生成所述签名钥之后即可清除所有接收的所述子密钥。当再次接收到客户端发送的申请数字证书的请求消息时,需要重新获取所述预设节点的子密钥,并生成签名钥。这样可以实现ca认证授权中心去中心化。

这里,所述门限算法可以是(k,n)门限秘密共享方法,所述(k,n)门限秘密共享方法是一种把一个密钥分成若干子密钥分给n个参与者掌管,这些参与者再通过重构得到完整密钥的方法。

s306:所述节点利用所述签名钥对所述申请者信息和用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

在具体实施中,所述节点首先利用摘要算法将所述申请者信息和所述用户公钥形成第一摘要,然后,通过签名算法利用所述签名钥中的私钥对所述第一摘要进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书。

这里,所述摘要算法可以是sm3哈希算法。利用sm3哈希算法可以将长度不固定的所述申请者信息和所述用户公钥变换成固定长度的所述第一摘要。因为如果需要签名的信息很长、运算量很大,会因加密时间过长而降低系统效率,因此利用所述摘要算法可以缩短加密时间、提高系统效率。

在具体实施中,通过所述签名算法利用所述签名钥中的私钥对所述第一摘要进行加密,形成签名信息,并且所述签名信息、所述申请者信息以及所述用户公钥对应保存。

这里,所述签名算法可以是sm2非对称密码算法。所述签名算法和所述摘要算法均可以为国产密码技术或者国际密码技术。这里所述sm2非对称密码算法和sm3哈希算法均为国产密码技术。

在具体实施中,所述节点将所述签名信息、所述申请者信息以及所述用户公钥通过广播的方式发送到所述区块链中的其他所有节点。

在具体实施中,利用所述签名钥还可以对数字证书的版本号、序列号、颁发者名称、有效期和扩展信息进行签名。

基于相同的技术构思,本申请实施例还提供一种基于区块链的ca认证装置、电子设备以及计算机存储介质等,具体可参见以下实施例。

实施例四

本申请实施例四提供的一种基于区块链的ca认证装置400结构如图4所示,所述的一种基于区块链的ca认证装置包括:接收模块401、第一获取模块402、签名钥生成模块403和签名模块404;其中,

所述接收模块401,用于接收客户端发送的申请数字证书的请求信息;

所述第一获取模块402,用于获取所述请求消息中的申请者信息和用户公钥;

所述签名钥生成模块403,用于获取区块链中预设节点的子密钥,并生成签名钥;

所述签名模块404,用于利用所述签名钥对所述申请者信息和用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

进一步地,所述一种基于区块链的ca认证装置400还包括:第一请求模块、第一接收模块和第一摘要生成模块,

所述第一请求模块,用于向所述预设节点发送调用子密钥的请求;

所述第一接收模块,用于接收所述预设节点针对所述调用子密钥的请求发送的子密钥;

所述第一摘要生成模块,用于利用摘要算法将所述申请者信息和所述用户公钥形成第一摘要;

所述签名信息生成模块,用于利用所述签名钥中的私钥对所述第一摘要进行签名,形成签名信息。

进一步地,所述一种基于区块链的ca认证装置还包括:第二接收模块、验证模块、第二获取模块、第二摘要生成模块和第三摘要生成模块,

所述第二获取模块,用于获取区块链的区块中保存的与所述数字证书的签名信息相对应的申请者信息和用户公钥;

所述第二接收模块,用于接收所述客户端发送的验证数字证书合法性的验证请求消息,其中所述验证请求消息包括所述数字证书的签名信息;

所述验证模块,用于利用所述签名钥对所述数字证书的签名信息进行验证;

所述第二摘要生成模块,用于利用摘要算法将获取的所述申请者信息和所述用户公钥形成第二摘要;

所述第三摘要生成模块,用于利用所述签名钥中的公钥对所述数字证书的签名信息进行解密,获取所述数字证书的签名信息中的第三摘要。

实施例五

如图5所示,为本申请实施例五所提供的一种电子设备500的结构示意图,包括处理器501、存储器502和总线503,所述存储器502存储有所述处理器501可执行的机器可读指令,当网络侧设备运行时,所述处理器501与所述存储器502之间通过总线503通信,所述机器可读指令被所述处理器501执行时,所述机器可读指令被所述处理器501执行时执行如下处理:

接收客户端发送的申请数字证书的请求消息;

获取所述请求消息中的申请者信息和用户公钥;

获取区块链中预设节点的子密钥,并生成签名钥;

利用所述签名钥对所述申请者信息和用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,其中所述节点为不同的ca认证授权中心。

在具体实施中,上述处理器501执行的处理中,所述获取预设节点的子密钥,并生成签名钥,还包括:

向所述预设节点发送调用子密钥的请求;

接收所述预设节点针对所述调用子密钥的请求发送的子密钥;

利用门限算法将所有所述子密钥生成签名钥。

在具体实施中,上述处理器501执行的处理中,所述利用所述签名钥对所述申请者信息和用户公钥进行签名,形成签名信息,包括:

利用摘要算法将所述申请者信息和所述用户公钥形成第一摘要;

利用所述签名钥中的私钥对所述第一摘要进行签名,形成签名信息。

在具体实施中,上述处理器501执行的处理中,还包括:接收所述客户端发送的验证所述数字证书合法性的验证请求消息,其中验证请求消息包括所述数字证书的签名信息;

向所述预设节点发送子密钥调用请求;

接收所述预设节点针对所述子密钥调用请求发送的子密钥;

利用门限算法将所有所述子密钥生成签名钥;

利用所述签名钥对所述数字证书的签名信息进行验证。

在具体实施中,上述处理器501执行的处理中,所述利用所述签名钥对所述数字证书的签名信息进行验证,还包括:

获取区块链的区块中保存的与所述数字证书的签名信息相对应的申请者信息和用户公钥;

利用摘要算法将获取的所述申请者信息和所述用户公钥形成第二摘要;

利用所述签名钥中的公钥对所述数字证书的签名信息进行解密,获取所述数字证书的签名信息中的第三摘要;

若所述第二摘要与所述第三摘要相同,则验证通过。

在具体实施中,上述处理器501执行的处理中,还包括:

生成签名钥;

利用门限算法将所述签名钥分成多个子密钥;

将所述多个子密钥分发给所述预设节点。

在具体实施中,上述处理器501执行的处理中,所述将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,包括:将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,并通过广播的方式发送到所述区块链中的其他所有节点。

实施例六

本申请实施例六还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器501运行时执行上述基于区块链的ca认证方法的步骤。

基于上述分析可知,与现有技术中ca认证授权中心信息系统中心化相比,本申请实施例提供的基于区块链的ca认证方法、装置及电子设备,采用区块链技术,通过接收客户端发送的申请数字证书的请求消息,获取所述请求消息中的申请者信息和用户公钥,获取区块链中预设节点的子密钥,并生成签名钥,利用所述签名钥对所述申请者信息和所述用户公钥进行签名,形成签名信息,将所述签名信息、所述申请者信息以及所述用户公钥对应保存到区块链的区块中,形成针对该客户端的请求消息的数字证书,可以实现ca认证授权中心去中心化,而且还可以降低用户信息安全风险。

本申请实施例所提供的进行基于区块链的ca认证方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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