首页> 中国专利> 基于区块链的证书颁发方法、装置、计算机设备及介质

基于区块链的证书颁发方法、装置、计算机设备及介质

摘要

本发明实施例提供了一种基于区块链的证书颁发方法、装置、计算机设备及介质,可用于网络安全领域或其他领域;其中,该方法包括以下步骤:接收注册请求,其中,所述注册请求包括注册者信息和公钥;根据所述注册者信息从区块链中获取公钥,其中,注册者信息和公钥在生成后对应存储在区块链上;获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。该方案有利于避免基于攻击后的公钥颁发证书,进而有利于降低或避免伪造证书的风险。

著录项

  • 公开/公告号CN113127840A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 中国银行股份有限公司;

    申请/专利号CN202110543796.5

  • 发明设计人 赵旭东;雷雨;薛贝娜;

    申请日2021-05-19

  • 分类号G06F21/33(20130101);G06F21/45(20130101);G06F21/62(20130101);G06F21/64(20130101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人王天尧;谷敬丽

  • 地址 100818 北京市西城区复兴门内大街1号

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明特别涉及一种基于区块链的证书颁发方法、装置、计算机设备及介质。需要说明的是,本发明基于区块链的证书颁发方法、装置、计算机设备及介质可用于网络安全领域,也可用于除网络安全领域之外的任意领域,本发明对基于区块链的证书颁发方法、装置、计算机设备及介质的应用领域不做限定。

背景技术

证书是认证机构(认证机构是是对证书进行管理的机构,具体进行操作如下:生成密钥对、在注册公钥时对本人身份进行认证、生成并颁发证书、作废证书)对公钥机器持有者的信息加上数字签名的产物,由于加上数字签名之后会非常难以攻击,因此有一种对施加数字签名之前的公钥进行攻击的情况。

假设A生成了密钥对,在认证机构进行数字签名之前,中间人C将公钥替换成了自己的,这样认证机构就会对A的信息和C的公钥进行签名,从而达到了伪造证书。

目前防止这种攻击,可采用两种方案:

(1)A生成密钥对,在将公钥发给认证机构进行注册时,使用认证机构的公钥对A的公钥进行加密。

(2)认证机构在确认A的身份时,也可以将公钥的指纹一并发送给A请他确认。

但以上两种方法,若中间人C得知了认证机构的公钥,并且成功拦截监听了以上A和认证机构的对话,仍可以篡改报文,达到伪造的目的。

发明内容

本发明实施例提供了一种基于区块链的证书颁发方法,以解决现有技术中存在证书伪造风险的技术问题。该方法包括:

接收注册请求,其中,所述注册请求包括注册者信息和公钥;

根据所述注册者信息从区块链中获取公钥,其中,注册者信息和公钥在生成后对应存储在区块链上;

获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。

本发明实施例还提供了一种基于区块链的证书颁发装置,以解决现有技术中存在证书伪造风险的技术问题。该装置包括:

请求接收模块,用于接收注册请求,其中,所述注册请求包括注册者信息和公钥;

信息读取模块,用于根据所述注册者信息从区块链中获取公钥,其中,注册者信息和公钥在生成后对应存储在区块链上;

证书颁发模块,用于获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。

本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于区块链的证书颁发方法,以解决现有技术中存在证书伪造风险的技术问题。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于区块链的证书颁发方法的计算机程序,以解决现有技术中存在证书伪造风险的技术问题。

在本实施例中,提出了注册者信息和公钥在生成后对应存储在区块链上,在接收到注册请求后,根据注册请求中的注册者信息从区块链中获取公钥,进而在获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。由于区块链具备不可伪造、不可篡改的特性,确保了区块链存储的注册者信息和公钥的安全、可信性,如果基于注册请求中的注册者信息能够从区块链中获取到公钥,且获取的公钥与所述注册请求中的公钥一致,则说明注册请求中的注册者信息和公钥与区块链中存储的注册者信息和公钥完全一致,即公钥未受到攻击,此时生成并颁发证书,有利于避免基于攻击后的公钥颁发证书,进而有利于降低或避免伪造证书的风险。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1是本发明实施例提供的一种基于区块链的证书颁发方法的流程图;

图2是本发明实施例提供的一种公钥基础设施(PKI)的结构示意图;

图3是本发明实施例提供的一种实施上述基于区块链的证书颁发方法的流程图;

图4是本发明实施例提供的一种计算机设备的结构框图;

图5是本发明实施例提供的一种基于区块链的证书颁发装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在本发明实施例中,提供了一种基于区块链的证书颁发方法,如图1所示,该方法包括:

步骤102:接收注册请求,其中,所述注册请求包括注册者信息和公钥;

步骤104:根据所述注册者信息从区块链中获取公钥,其中,注册者信息和公钥在生成后对应存储在区块链上;

步骤106:获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。

由图1所示的流程可知,在本发明实施例中,提出了注册者信息和公钥在生成后对应存储在区块链上,在接收到注册请求后,根据注册请求中的注册者信息从区块链中获取公钥,进而在获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。由于区块链具备不可伪造、不可篡改的特性,确保了区块链存储的注册者信息和公钥的安全、可信性,如果基于注册请求中的注册者信息能够从区块链中获取到公钥,且获取的公钥与所述注册请求中的公钥一致,则说明注册请求中的注册者信息和公钥与区块链中存储的注册者信息和公钥完全一致,即公钥未受到攻击,此时生成并颁发证书,有利于避免基于攻击后的公钥颁发证书,进而有利于降低伪造证书的风险。

具体实施时,上述基于区块链的证书颁发方法可以运行在公钥基础设施(PKI)的相关设备上。

具体实施时,公钥注册者在生成自己的密钥对,将自己的注册者信息(例如,机构信息)和公钥一起存入区块链中。

具体实施时,在认证机构接收到注册请求后,不立即对其处理,而是根据注册者信息去区块链进行查询获取公钥,若是获取到公钥,校验注册请求中的公钥与区块链存储的公钥是否一致,若校验通过,则继续后续证书颁发流程,否则(未获取到公钥,此时说明注册请求中的注册者信息不正确,或者,校验不通过,此时说明注册请求中的公钥与区块链存储的公钥不一致,公钥被攻击了),则拒绝注册请求,以实现在颁发证书前校验公钥是否被攻击了的情况,确保公钥在未被攻击的情况下颁发证书。

具体实施时,为了实现快速查询区块链获取公钥,在本实施例中,在根据所述注册者信息从区块链中获取公钥的过程中,对所述注册者信息进行哈希运算,得到哈希值;进而根据运算得到的哈希值从区块链中获取注册者信息的哈希值和公钥,其中,注册者信息的哈希值和公钥在生成后对应存储在区块链上,所述注册请求包括中还包括注册者信息的哈希值;此时,公钥注册者在生成自己的密钥对,对注册者信息进行哈希运算之后,将注册者信息、注册者信息的哈希值和公钥一起存入区块链中。

在获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书的过程中,获取到注册者信息的哈希值和公钥,且判断获取的注册者信息的哈希值和公钥与所述注册请求中的注册者信息的哈希值和公钥分别一致时,生成并颁发证书。

具体实施时,在未获取到注册者信息的哈希值和公钥或判断获取的注册者信息的哈希值和公钥与所述注册请求中的注册者信息的哈希值和公钥不一致时,拒绝所述注册请求。

具体实施时,为了实现证书颁发过程信息的可追溯、公开透明性,在本实施例中,在颁发证书后,将颁发的证书进行哈希运算,得到证书的哈希值;将证书和证书的哈希值存入区块链。

具体的,还可以将证书颁发过程中的判断结果等信息也存入区块链。

具体实施时,如图2所示,公钥基础设施(PKI)一般包括前置过滤器、认证机构以及证书仓库,由前置过滤器实现根据注册者信息从区块链中获取公钥并校验公钥的功能,由认证机构实现在校验通过后生成并颁发证书的功能,由证书仓库实现存储证书、向用户反馈证书以及将证书和证书的哈希值存入区块链的功能。

具体实施时,结合图3以下详细介绍实施上述基于区块链的证书颁发方法的过程,包括以下步骤:

1、公钥注册者生成自己的密钥对,将自己的注册信息进行哈希运算之后和公钥一起存入区块链中;

2、公钥注册者发起注册请求,注册请求中携带注册者信息、注册者信息的哈希值以及公钥,发送给PKI;

3、PKI的前置过滤器进行校验处理,将注册者信息进行哈希运算,然后根据注册者信息的哈希值去区块链查询对应的公钥数据,将查回来的注册者信息的哈希值和公钥与注册请求中的注册者信息的哈希值和公钥进行比对,若比对一致,则进行步骤4,发送给认证机构进行处理;若比对不一致,则直接拒绝注册请求;

4、认证机构生成机构的密钥对,对注册者的公钥使用自己的私钥添加数字签名,生成并颁发证书;

5、认证机构将证书信息发送给证书仓库进行存储;

6、证书仓库将证书信息进行哈希处理,将哈希后的证书信息进行存储,并将原证书信息和哈希值一并存入区块链,防止篡改;

7、当PKI用户需要时,直接从证书仓库请求证书信息,证书仓库从区块链取出证书后,返回给PKI用户。

当有攻击者存在的情况,上述步骤2包括以下步骤:

2.1、攻击者截获了公钥注册者发往PKI的注册请求报文,进行了篡改,将注册者公钥改成了攻击者自己的公钥;

2.2、攻击者将注册者的信息、注册者信息的哈希值、攻击者的公钥重新组包,发往PKI进行认证;

在上述步骤3中,由前置过滤器查询区块链中事先存入的注册者信息和公钥等数据,发现注册请求中的数据与从区块链查询的数据不符,则拒绝请求,即攻击失败。

在本实施例中,提供了一种计算机设备,如图4所示,包括存储器402、处理器404及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于区块链的证书颁发方法。

具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。

在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于区块链的证书颁发方法的计算机程序。

具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

基于同一发明构思,本发明实施例中还提供了一种基于区块链的证书颁发装置,如下面的实施例所述。由于基于区块链的证书颁发装置解决问题的原理与基于区块链的证书颁发方法相似,因此基于区块链的证书颁发装置的实施可以参见基于区块链的证书颁发方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是本发明实施例的基于区块链的证书颁发装置的一种结构框图,如图5所示,该装置包括:

请求接收模块502,用于接收注册请求,其中,所述注册请求包括注册者信息和公钥;

信息读取模块504,用于根据所述注册者信息从区块链中获取公钥,其中,注册者信息和公钥在生成后对应存储在区块链上;

证书颁发模块506,用于获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。

在一个实施例中,所述信息读取模块,还用于对所述注册者信息进行哈希运算,得到哈希值;根据运算得到的哈希值从区块链中获取注册者信息的哈希值和公钥,其中,注册者信息的哈希值和公钥在生成后对应存储在区块链上,所述注册请求包括中还包括注册者信息的哈希值;

所述证书颁发模块,还用于获取到注册者信息的哈希值和公钥,且判断获取的注册者信息的哈希值和公钥与所述注册请求中的注册者信息的哈希值和公钥分别一致时,生成并颁发证书。

在一个实施例中,所述证书颁发模块,还用于未获取到公钥或判断获取的公钥与所述注册请求中的公钥不一致时,拒绝所述注册请求。

在一个实施例中,还包括:

存储模块,用于将颁发的证书进行哈希运算,得到证书的哈希值;将证书和证书的哈希值存入区块链。

本发明实施例实现了如下技术效果:提出了注册者信息和公钥在生成后对应存储在区块链上,在接收到注册请求后,根据注册请求中的注册者信息从区块链中获取公钥,进而在获取到公钥,且判断获取的公钥与所述注册请求中的公钥一致时,生成并颁发证书。由于区块链具备不可伪造、不可篡改的特性,确保了区块链存储的注册者信息和公钥的安全、可信性,如果基于注册请求中的注册者信息能够从区块链中获取到公钥,且获取的公钥与所述注册请求中的公钥一致,则说明注册请求中的注册者信息和公钥与区块链中存储的注册者信息和公钥完全一致,即公钥未受到攻击,此时生成并颁发证书,有利于避免基于攻击后的公钥颁发证书,进而有利于降低伪造证书的风险。

虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号