H04L9/32 H04L9/08
1.一种数字证书的生成方法,其特征在于,所述方法包括:
接收证书生成申请,所述证书生成申请包括公钥和身份信息;
核查所述身份信息是否通过;
响应于所述身份信息核查通过,提供证书内容并利用私钥对所述证书内容进行数字签 名;
将已签名的数字证书写入到区块链完成证书存证。
2.根据权利要求1所述的方法,其特征在于,利用私钥对所述证书内容进行数字签名包 括:
利用加密机中的私钥进行数字签名,并接收加密机返回的已签名的数字证书。
3.根据权利要求1所述的方法,其特征在于,接收证书生成申请包括:
接收来自合作端的证书生成申请,所述来自合作端的证书生成申请还包括:合作端转 发的来自客户端或商业端并且已通过身份信息核查的证书生成申请。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述身份信息核查不通过,返回所述身份信息错误和修改后重新提交证书生成 申请的消息。
5.一种数字证书的校验方法,其特征在于,所述方法包括:
接收数据校验请求,所述数据校验请求包括数据内容、数据签名和公钥;
根据所述公钥从区块链节点查询并判断所述数据对应的数字证书是否存在;
响应于所述数字证书存在,利用公钥对数据内容和数据签名进行验签,判断验签是否 通过;
响应于验签通过,返回数据校验通过的消息。
6.根据权利要求5所述的方法,其特征在于,响应于所述数字证书存在,利用公钥对数 据内容和数据签名进行验签,判断验签是否通过包括:
响应于所述数字证书存在,判断是否需要对所述数字证书进行校验,
响应于需要对所述数字证书进行校验,发送所述数字证书至发行端,由所述发行端利 用加密机的公钥对所述数字证书进行校验;
响应于接收到来自所述发行端的所述数字证书校验通过的消息,利用公钥对数据内容 和数据签名进行验签,判断验签是否通过;
响应于不需要对所述数字证书进行校验,利用公钥对数据内容和数据签名进行验签, 判断验签是否通过。
7.根据权利要求5或6所述的方法,其特征在于,接收数据校验请求包括:
接收来自商业端的数据校验请求,或者接收由所述商业端转发的来自客户端的数据校 验请求。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于所述数字证书不存在,或者响应于对数据内容和数据签名进行验签未通过,或 者响应于接收到来自发行端的所述数字证书校验未通过的消息,返回校验未通过的消息至 商业端。
9.一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其 中,所述处理器被配置为执行权利要求1至4任意一项所述的方法。
10.一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为执行权利要求5至8任意一项所述的方法。
本申请涉及区块链技术,具体涉及一种数字证书的生成和校验方法及设备。
随着计算机技术的发展,区块链技术(又称分布式账本技术)以其去中心化、公开 透明、不可篡改、可信任等优点,备受青睐,在智能合约、证券交易、电子商务、物联网、社交 通讯、文件存储、存在性证明、身份验证、股权众筹等众多领域得到广泛应用。
目前,区块链系统主要可分为三类,分别是公有链(Public Blockchain)、私有链 (Private Blockchain)和联盟链(Consortium Blockchain)。这三类区块链的主要区别在 于开放对象的不同。公有链可对所有人开放,私有链仅对单独的个人或实体组织开放,而联 盟链介于公有链和私有链之间,对特定的个人或实体组织开放,而对之外的其他个人或实 体组织加以限制。
在区块链中,尤其是在面向特定组织的联盟链中,为了提高通讯安全,通常会设计 证书授权(Certificate Authority,CA)中心,为每个参与区块链通讯的节点签发节点证 书,使得持有合法证书的节点才能够互相通讯。在现有技术中,会将签发的节点证书以及与 证书有效性有关的信息都存储在CA中心的服务器中;区块链的节点间需要通讯时,也将调 用并查询CA中心存储的与证书有效性有关的信息,以便确认证书的有效性,完成对通讯过 程的验证。这种方式的主要缺陷在于:
节点的数字证书以及与证书有效性有关的信息均存储在CA中心,一旦CA中心被骇 客,黑客可以任意修改与证书有效性有关的信息,例如,可以篡改证书吊销列表,使得已吊 销的证书恢复正常。黑客进而可以利用这些原本被吊销的问题证书非法加入区块链,区块 链节点在确认证书有效性时也将依据被篡改的信息进行,从而对区块链的安全造成威胁。 另外,CA中心的私钥也可能被黑客盗取,进而黑客可以恣意签发数字证书,威胁着区块链网 络的安全。
本申请实施例提供了一种数字证书的生成和校验方法及设备,用以解决由于CA中 心被黑客入侵而导致数字证书安全性降低的技术问题。
根据本申请实施例的一个方面,提供了一种数字证书的生成方法,其特征在于,所 述方法包括:接收证书生成申请,所述证书生成申请包括公钥和身份信息;核查所述身份信 息是否通过;响应于所述身份信息核查通过,提供证书内容并利用私钥对所述证书内容进 行数字签名;将已签名的数字证书写入到区块链完成证书存证。
根据本申请实施例的另一方面,提供了一种电子设备,包括:处理器;用于存储处 理器可执行指令的存储器;其中,所述处理器被配置为执行上述数字证书生成方法。
根据本申请实施例的另一方面,提供了一种数字证书的校验方法,所述方法包括: 接收数据校验请求,所述数据校验请求包括数据内容、数据签名和公钥;根据所述公钥从区 块链节点查询并判断所述数据对应的数字证书是否存在;响应于所述数字证书存在,利用 公钥对数据内容和数据签名进行验签,判断验签是否通过;响应于验签通过,返回数据校验 通过的消息。
根据本申请实施例的另一方面,提供了一种电子设备,包括:处理器;用于存储处 理器可执行指令的存储器;其中,处理器被配置为执行上述数字证书的校验方法。
本申请实施例的有益效果包括:将签发的数字证书存证在区块链中,提升了数字 证书的安全性,防止被黑客篡改;在进行数据校验时,从区块链中查询该数据对应的数字证 书并通过该数字证书对数据进行校验。
通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和 优点将更为清楚,在附图中:
图1是本申请实施例数据证书生成和校验系统的架构示意图;
图2是本申请实施例数据证书生成方法的流程示意图;
图3是本申请实施例数据证书生成方法的流程示意图;
图4是本申请实施例数据证书生成方法的流程示意图;
图5是本申请实施例数据证书校验方法的流程示意图;
图6是本申请实施例数据证书校验方法的流程示意图。
以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下 文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有 这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过 程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且 附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似 词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含 义。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不 能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义 是两个或两个以上。
本申请实施例在接收到数字证书生成申请后,将签发的数字证书存证在区块链 中,提升了数字证书的安全性,防止被黑客篡改;在进行数据校验时,从区块链中查询该数 据对应的数字证书并通过该数字证书对数据进行校验,通过安全可靠的数字证书提供准确 的数据校验以确保数据安全。
图1是本申请实施例数据证书生成和校验系统的架构示意图。其中区块链1由发行 端节点20和合作端节点30共同维护。发行端是指数字证书的签发方,通常为政府及授权机 构;合作端(Partnership)是指商业端(Business)4的合作方或者代理方,代表商业端4及其 客户端5(Client)向发行端申请生成数字证书。
发行端的后台即服务(Backend as a Service,BaaS)系统21,将生成的数字证书 写入到区块链1从而对数字证书进行存证。发行端的软件即服务(Software as a Service, SaaS)系统22用于生成数字证书,并在数据校验时对该数据对应的数字证书进行校验。发行 端的加密机23用于利用私钥对生成的数字证书进行签名。
合作端的BaaS系统31,用于在合作端进行数据校验时从区块链1中查询并获取数 字证书。合作端的SaaS系统32用于提交证书生成申请,对来自商业端4的证书生成申请进行 身份信息核查并将通过核查的转发至发行端的SaaS系统22;合作端的SaaS系统32还用于在 数据校验时对数据进行校验。
如果生成数字证书的申请来自合作端,则如图2所示,需要经过以下处理过程。
S201,合作端的SaaS系统随机生成公私钥对。
S202,合作端的SaaS系统提交证书生成申请至发行端的SaaS系统。
S203,发行端的SaaS系统核查其中的身份信息,如果核查通过,则提供数字证书内 容并继续执行S205。如果核查未通过,则执行S204。
S204,返回身份信息错误并重新修改提交的消息至合作端的SaaS系统。
S205,将数字证书内容发送到加密机。
S206,加密机利用私钥对数字证书内容进行签名。
S207,加密机将已签名的数字证书内容返回至SaaS系统。
S208,发行端的SaaS系统将已签名的数字证书发送至BaaS系统。
S209,发行端的BaaS系统将已签名的数字证书写入到区块链进行存证。
其中,合作端的SaaS系统提交的证书生成申请包括公钥和身份信息。身份信息包 括合作端的名称、编号等信息。
数字证书内容包括:数字证书所有人(数字证书申请者)的身份信息和公钥,数字 证书的序列号、版本、有效期和签名算法,数字证书发行机构(发行端)的名称等信息。
将生成的数字证书写入到区块链最新生成的一个区块中进行存证,节点获取到已 签名的数字证书后,向所在区块链网络内部广播。每个接收到的节点都将已签名的数字证 书或者其数据指纹保存到将要创建的区块内的区块主体部分,然后各个节点开始通过竞争 机制(如解算一个数学难题)来获取创建该新区块的权利。当一个节点在竞争中胜出时,其 向全网广播该区块内保存的已签名的数字证书或者其数据指纹,并由全网其它节点进行核 对。全网其它节点核对该区块记录的数据指纹的正确性,如果确认正确后,所有节点将继续 按照该竞争机制竞争创建下一个区块,由此,将已签名的数字证书植入到区块链,在该区块 的区块头保存有区块头信息的哈希值,可用于标识该数字证书所在的区块。将数字证书写 入到区块链,提升了数字证书的安全性。
如果生成数字证书的申请来自合作端,则如图3所示,需要经过以下处理过程。
S210,商业端随机生成公私钥对。
S211,商业端提交证书生成申请至合作端的SaaS系统。
S212,合作端的SaaS系统核查其中的身份信息,如果核查未通过,则执行S213,如 果核查通过,则执行S202。
S213,合作端的SaaS系统返回身份信息错误并重新修改提交的消息至商业端。
S202,合作端的SaaS系统提交证书生成申请至发行端的SaaS系统。
后续的数字证书生成与存证的过程与前文所述相同,不再重复说明。如果提交的 证书生成申请中的身份信息未通过发行端的SaaS系统,合作端的SaaS系统在接收到发行端 的SaaS系统返回的消息后,将该身份信息错误并重新修改提交的消息转发至商业端。
如果生成数字证书的申请来自合作端,则如图4所示,需要经过以下处理过程。
S214,客户端随机生成公私钥对。
S215,客户端提交证书生成申请至商业端。
S216,商业端核查其中的身份信息,如果核查未通过,则执行S217,如果核查通过, 则执行S211。
S217,商业端返回身份信息错误并重新修改提交的消息至客户端。
S211,商业端提交证书生成申请至合作端的SaaS系统。
后续处理过程与前文所述相同,不再重复说明。如果身份信息在合作端的SaaS系 统未通过核查,则商业端会接收到合作端的SaaS系统返回的身份信息错误并重新修改提交 的消息,商业端会将该消息转发至客户端;同样,如果证书生成申请的身份信息在发行端的 SaaS系统未能核查通过,则合作端的SaaS系统会接收到发行端的SaaS系统返回的身份信息 错误并重新修改提交的消息,合作端的SaaS系统会通过商业端将该消息转发至客户端。
上述已生成并保存在区块链的数字证书,可用于对客户端、商业端和合作端的数 据进行数据校验。如图5所示,合作端进行数据校验的过程包括以下步骤。
S301,合作端的SaaS系统接收数据校验请求,数据校验请求包括数据内容、数据签 名和公钥。
S302,根据公钥从合作端的BaaS系统查询该数据对应的数字证书。
S303,判断该数字证书是否存在。如果存在,则执行S305,如果不存在,则执行 S304。
S304,返回校验未通过的消息。
S305,利用公钥对数据内容和数据签名进行验签,判断验签是否通过。如果验签通 过,则执行S306,如果验签未通过,则执行S304。
S306,返回校验通过的消息。
如果该数据校验请求来自于商业端,则将校验是否通过的消息返回至商业端;如 果该数据校验请求来自于客户端并由商业端转发至合作端,则将校验是否通过的消息通过 商业端转发至客户端。
合作端的SaaS系统还可以被配置为需要对数字证书进行校验,此时如图6所示,合 作端进行数据校验的过程包括以下步骤。
S401,合作端的SaaS系统接收数据校验请求,数据校验请求包括数据内容、数据签 名和公钥。
S402,根据公钥从合作端的BaaS系统查询该数据对应的数字证书。
S403,判断该数字证书是否存在。如果存在,则执行S405,如果不存在,则执行 S404。
S404,返回校验未通过的消息。
S405,判断是否需要对数字证书进行校验。需要对数字证书进行校验时,执行 S406,不需要对数字证书进行校验时,执行S409。
S406,发送数字证书至发行端的SaaS系统。
S407,发行端利用加密机的公钥对数字证书进行校验,判断是否校验通过。校验通 过时,执行S409,校验未通过时,执行S408。
S408,发行端返回校验未通过的消息至合作端的SaaS系统。合作端的SaaS系统继 续执行S404。
S409,合作端的SaaS系统利用公钥对数据内容和数据签名进行验签,判断验签是 否通过。如果验签通过,则执行S410,如果验签未通过,则执行S404。
S410,返回校验通过的消息。
本实施例中,从区块链中查询该数据对应的数字证书并通过该数字证书对数据进 行校验,通过安全可靠的数字证书提供准确的数据校验以确保数据安全。此外,上述数字证 书的生成过程和校验过程可以分别执行,也可以按照从生成到校验的顺序先后执行,并分 别达到各自对应的技术效果。
此外,还可以通过硬件处理器(hardware processor)来实现上述数字证书生成和 校验的各个程序步骤。一种用于执行上述数字证书生成方法的电子设备,包括:处理器;用 于存储处理器可执行指令的存储器;其中,处理器被配置为:接收证书生成申请,所述证书 生成申请包括公钥和身份信息;核查所述身份信息是否通过;响应于身份信息核查通过,提 供证书内容并利用私钥对证书内容进行数字签名;将已签名的数字证书写入到区块链完成 证书存证。
在一个实施例中,利用私钥对所述证书内容进行数字签名包括:利用加密机中的 私钥进行数字签名,并接收加密机返回的已签名的数字证书。
在一个实施例中,接收证书生成申请包括:接收来自合作端的证书生成申请;所述 来自合作端的证书生成申请还包括:合作端转发的来自客户端或商业端并且已通过身份信 息核查的证书生成申请。
在一个实施例中,处理器进一步被配置为:响应于身份信息核查不通过,返回身份 信息错误和修改后重新提交证书生成申请的消息。
一种用于执行上述数字证书校验方法的电子设备,包括:处理器;用于存储处理器 可执行指令的存储器;其中,处理器被配置为:接收数据校验请求,数据校验请求包括数据 内容、数据签名和公钥;根据公钥从区块链节点查询并判断数据对应的数字证书是否存在; 响应于数字证书存在,利用公钥对数据内容和数据签名进行验签,判断验签是否通过;响应 于验签通过,返回数据校验通过的消息。
在一个实施例中,响应于数字证书存在,利用公钥对数据内容和数据签名进行验 签,判断验签是否通过包括:
响应于数字证书存在,判断是否需要对所述数字证书进行校验,
响应于需要对数字证书进行校验,发送数字证书至发行端,由发行端利用加密机 的公钥对数字证书进行校验;
响应于接收到来自发行端的数字证书校验通过的消息,利用公钥对数据内容和数 据签名进行验签,判断验签是否通过;
响应于不需要对数字证书进行校验,利用公钥对数据内容和数据签名进行验签, 判断验签是否通过。
在一个实施例中,接收数据校验请求包括:
接收来自商业端的数据校验请求,或者接收由商业端转发的来自客户端的数据校 验请求。
在一个实施例中,处理器进一步被配置为:
响应于数字证书不存在,或者响应于对数据内容和数据签名进行验签未通过,或 者响应于接收到来自发行端的数字证书校验未通过的消息,返回校验未通过的消息至商业 端。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机 程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面 的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计 算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程 序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图 和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程 和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域技术人员 而言,本申请可以有各种改动和变化。凡在本申请的精神和原理之内所作的任何修改、等同 替换、改进等,均应包含在本申请的保护范围之内。
本文发布于:2023-04-14 17:27:38,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86747.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |