一种管理证书的方法和装置与流程

文档序号:12729871阅读:170来源:国知局
一种管理证书的方法和装置与流程

本发明涉及计算机领域,特别涉及一种管理证书的方法和装置。



背景技术:

随着比特币等数字加密货币的出现,区块链技术也日益兴起。区块链是一种由节点服务器组成的分布式数据系统。目前,区块链大多应用在金融交易场景中,该场景中还涉及与区块链对应的证书中心服务器、用户终端和监管终端。其中,证书中心服务器用于存储用户终端、节点服务器和监管终端的证书。

相关技术中,用户终端、节点服务器和监管终端可以作为请求设备从证书中心服务器请求证书,并在获取到证书之后,使用证书进行身份验证,以便在区块链中进行交易或监管交易等管理操作。而证书中心服务器对证书进行存储、发送等管理操作。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

由于证书中心服务器为中心化服务,因此上述对证书的管理操作中,用户终端、节点服务器和监管终端都是从证书中心服务器中获取证书,然后进行使用,如果证书中心服务器中的证书数据被篡改,会导致请求设备在使用证书的过程中出现问题。例如,在证书中心服务器中篡改了某银行的证书,一些节点服务器对该银行进行身份验证时会验证失败,导致该节点服务器中与该银行相关的交易无法正常进行。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种管理证书的方法和装置。所述技术方案如下:

第一方面,提供了一种管理证书的方法,所述方法应用于证书中心服务器或请求设备,所述请求设备包括终端或区块链的节点服务器;其中,所述证书中心服务器中存储证书的证书信息,所述节点服务器存储证书的指纹信息,所述方法包括:

获取证书中心服务器中当前存储的证书的证书信息,以及节点服务器中存储的所述证书的指纹信息,所述证书为所述证书中心服务器存储的任一证书,所述证书的指纹信息至少包括对预先获取的所述证书的证书信息进行签名得到的验证信息;

对所述指纹信息中的验证信息进行验签;

如果验签未通过,则通过证书中心服务器对所述证书的证书信息进行数据恢复处理。

第二方面,提供了一种管理证书的装置,所述装置应用于证书中心服务器或请求设备,所述请求设备包括终端或区块链的节点服务器;其中,所述证书中心服务器中存储证书的证书信息,所述节点服务器存储证书的指纹信息,所述装置包括:

获取模块,用于获取证书中心服务器中当前存储的证书的证书信息,以及节点服务器中存储的所述证书的指纹信息,所述证书为所述证书中心服务器存储的任一证书,所述证书的指纹信息至少包括对预先获取的所述证书的证书信息进行签名得到的验证信息;

验证模块,用于对所述指纹信息中的验证信息进行验签;

处理模块,用于当验签未通过时,通过证书中心服务器对所述证书的证书信息进行数据恢复处理。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,通过证书中心服务器中存储的证书的证书信息,和节点服务器中存储的证书的指纹信息对证书信息进行校验,可以确定证书中心服务器中存储的证书信息是否被篡改,并可以及时的对被篡改的证书信息进行数据恢复处理,以使用户终端、节点服务器和监管终端使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种系统框架图;

图2是本发明实施例提供的一种管理证书的方法流程图;

图3是本发明实施例提供的一种管理证书的方法流程图;

图4是本发明实施例提供的一种管理证书的方法流程图;

图5是本发明实施例提供的一种管理证书的方法流程图;

图6是本发明实施例提供的一种管理证书的方法流程图;

图7是本发明实施例提供的一种管理证书的装置结构示意图;

图8是本发明实施例提供的一种管理证书的装置结构示意图;

图9是本发明实施例提供的一种管理证书的装置结构示意图;

图10是本发明实施例提供的一种证书中心服务器或节点服务器的结构示意图;

图11是本发明实施例提供的一种用户终端或监管终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种管理证书的方法,该方法可以应用于区块链的场景中,且在实际中,区块链的种类可以有很多,比如公有链、联盟链和私有链等,本实施例中的区块链可以为需要进行身份认证的区块链,如联盟或私有链。无论是哪种区块链,该区块链可以包括多个节点服务器,该节点服务器可以部署在各银行中。另外,在区块链的场景中,还会涉及与区块链对应的证书中心服务器、用户终端和监管终端。其中,证书中心服务器可以部署在央行、银监会或保监会等管理机构中,监管终端可以为央行、银监会或保监会等管理机构的终端,证书中心服务器和监管终端可以属于不同的机构。

基于上述场景,如图1所示,为本实施例提供的系统框架图,包括证书中心服务器101、终端102和多个节点服务器103,其中,终端可以包括用户终端或监管终端。

区块链中,每个请求设备都可以生成密钥对,该密钥对可以包括公钥和私钥。请求设备可以包括终端或区块链的节点服务器,终端可以包括用户终端或监管终端。对于任一请求设备,该请求设备生成密钥对后,可以向证书中心服务器发送证书创建请求,以创建自己在区块链中的证书。具体的创建过程后续会进行详细说明。证书创建请求中可以携带有待创建证书的证书信息,其中,证书包括公开信息和私密信息,公开信息包括证书标识、请求设备生成的公钥和签名明文等可以向其他请求设备公开的信息,私密信息包括用户证件类型、证件号码、用户电话、用户邮箱等不向其他请求设备公开的信息,公开信息和私密信息所包含的内容项可以由证书中心服务器进行配置。在证书创建完成后,证书中心服务器会将该请求设备的证书记录为有效证书,其他请求设备则可以从证书中心服务器中,获取该请求设备的证书,以便在接收到该请求设备的通信消息或者与该请求设备进行交易时,对该请求设备进行身份验证。

本发明实施例提供的管理证书的方法中,证书中心服务器或请求设备可以获取证书中心服务器中当前存储的证书的证书信息,以及节点服务器中存储的证书的指纹信息,证书为证书中心服务器存储的任一证书,证书的指纹信息至少包括对预先获取的证书的证书信息进行签名得到的验证信息,对该指纹信息中的验证信息进行验签,如果验签未通过,则说明证书可能被篡改,可以通过证书中心服务器对证书的证书信息进行数据恢复处理。这样,可以使证书中心服务器和请求设备使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

上述管理证书的方法的执行主体可以为证书中心服务器、节点服务器、用户终端或监管终端中的任意一个,这些设备都可以通过上述管理证书的方法对证书信息进行管理,下面将结合具体实施方式,分别对每种执行主体在执行上述管理证书的方法时的处理流程进行详细说明。

该方法可以应用于用户终端和证书中心服务器之间,以用户终端对证书信息进行验证为例,该方法通常应用于用户终端创建证书的处理过程中,如图3所示,具体的处理流程可以包括如下的步骤:

步骤201,用户终端向证书中心服务器发送证书创建请求。

在实施中,某用户终端在与其他设备进行通信之前,可以由用户终端中安装的用于在区块链中进行通信的客户端生成密钥对。该密钥对可以包括公钥和私钥。另外,用户终端还可以生成自己的签名明文。用户终端可以向证书中心服务器发送证书创建请求,以创建自己在区块链中的证书。证书创建请求中可以携带有待创建的证书的证书信息,其中,证书信息包括公开信息和私密信息,公开信息包括证书标识、用户终端生成的公钥和签名明文等可以向其他用户终端公开的信息,私密信息包括用户输入的用户证件类型、证件号码、用户电话、用户邮箱等不向其他用户终端公开的信息,公开信息和私密信息所包含的内容项可以由证书中心服务器进行配置。另外,如果区块链中创建证书过程中需要进行审批,则证书信息中还可以包括用户身份证明文件。

步骤202,用户终端接收证书中心服务器发送的该证书的证书信息。

在实施中,用户终端向证书中心服务器发送证书创建请求后,证书中心服务器可以接收到该证书创建请求,然后可以对该证书创建请求进行解析,获取其中的公钥,然后可以通过预设的哈希算法,计算该公钥的哈希值,将该哈希值作为该用户终端在区块链中的地址(也可称为该证书在区块链中的标识)。证书中心服务器可以将添加有该地址的证书信息发送给用户终端,以便用户进行核对。另外,对于上述创建证书过程中需要进行审批的情况,证书信息中还会包括用户身份证明文件,则证书中心服务器还可以确定用户身份证明文件的哈希值,并将该哈希值添加到证书信息中。下文所述的证书信息,均为添加有证书中心服务器生成的哈希值的证书信息。

步骤203,用户终端通过生成的私钥对该证书的证书信息进行签名,得到第二验证信息,将第二验证信息发送给证书中心服务器。

在实施中,用户终端接收到证书中心服务器发送的证书信息后,可以对接收到的证书信息进行显示,以便用户可以对接收到的证书信息进行核对,判断证书中心服务器发送的证书信息是否与自己要创建的证书的证书信息一致,或者,用户终端也可以自动将证书中心服务器发送的证书信息,与本地缓存的证书信息进行对比,判断二者是否一致。如果判断结果为一致,则用户终端可以通过生成的私钥对证书信息进行签名,得到第二验证信息,然后可以将第二验证信息发送给证书中心服务器。

需要说明的是,用户终端还可以把证书对应的私钥备份或者保存在第三方密钥管理系统中,以防丢失。

步骤204,证书中心服务器接收用户终端发送的该证书的第二验证信息。

步骤205,证书中心服务器基于证书的公钥确定第二验证信息对应的第二验签信息,判断第二验签信息是否与用户终端发送的证书的证书信息相匹配。

在实施中,证书中心服务器接收到该证书的第二验证信息后,可以用该证书的公钥对第二验证信息进行解签(也可称为解密),得到第二验签信息,第二验签信息可以为一个特征值。证书中心服务器可以根据预设的特征值算法(比如某一哈希算法),计算第一用户终端发送的证书信息的特征值,然后比较解签出的特征值(即第二验签信息)是否与计算出的特征值相同,如果相同,则可以判定第二验签信息与第一用户终端发送的证书的证书信息相匹配,向用户终端返回校验成功消息,并可以通过预设的证书中心服务器的私钥对第一用户终端发送的证书的证书信息进行签名,生成第一验证信息,进而执行步骤206。如果不相同,则可以判定第二验签信息与第一用户终端发送的证书的证书信息不相匹配,不执行步骤206,并可以向该用户终端发送校验失败消息,用户终端可以对该证书创建失败通知进行显示,用户可以重新创建证书,或者通过咨询客服等解决该问题。

另外,对于上述创建证书过程中需要进行审批的情况,则步骤205之后,还需要证书中心管理人员对证书进行审批,用户可以查询证书状态,获知证书是否通过审批。如果证书审批通过,则可以执行步骤206,否则,将证书记录为审批失败的证书。

步骤206,证书中心服务器将第一验证信息和第二验证信息发送给节点服务器。

在实施中,证书中心服务器可以生成该证书的指纹信息。证书的指纹信息可以至少包括第一验证信息,还可以包括第二验证信息。证书中心服务器可以将证书的指纹信息发送给区块链中的某一节点服务器,然后该节点服务器将该指纹信息转发给区块链中除该节点服务器以外的其他节点服务器,以使区块链中的所有节点服务器中都存储有该证书的指纹信息。另外,证书的指纹信息还可以包括证书的公开信息。此外,证书中心服务器还可以将第三验证信息发送给节点服务器。第三验证信息可以是通过证书中心服务器的私钥对指纹信息进行签名得到的信息。公开信息和第三验证信息的使用方式后面会进行详细说明。

对于证书中心服务器将指纹信息和第三验证信息发送给节点服务器的情况,证书中心服务器发送的数据格式可以如表一所示,其中,指纹信息包括证书的公开信息、第一验证信息和第二验证信息。

表一

由于证书的指纹信息只包括证书的公开信息的明文和证书信息(即证书的完整信息)的验证信息,因此,不会暴露用户的私密信息。

步骤207,用户终端获取节点服务器中存储的证书的指纹信息。

其中,该证书可以为用户想要创建的证书。该证书的指纹信息至少包括第一验证信息,第一验证信息是通过证书中心服务器的私钥对预先获取的证书的证书信息进行签名得到的信息。

在实施中,用户可以通过用户终端向区块链的节点服务器发送对应该证书的查询请求,以查询该证书的指纹信息是否已保存在区块链的各节点服务器上。节点服务器则可以返回相应的反馈消息,比如已存储,或者未存储。如果节点服务器中已存储证书的指纹信息,则用户终端可以向区块链中的节点服务器发送对应该证书的指纹信息获取请求。区块链中的各节点服务器接收到对应证书的指纹信息获取请求后,可以获取本地存储的证书的指纹信息,然后将证书的指纹信息发送给用户终端。

用户终端可以接收到各节点服务器发送的指纹信息,用户终端接收到的多个指纹信息可以是完全相同的,也可能是不完全相同的。用户终端可以在各节点服务器发送的指纹信息中,确定出现次数满足预设数目条件的指纹信息,然后进行存储。如果接收到的指纹信息中,不存在满足预设数目条件的指纹信息,则说明区块链中可能有大量异常或者欺诈的节点服务器,用户终端可以向预设的运营机构报告该错误,例如,预设的运营机构可以为央行。

其中,预设数目条件可以是多种多样的。用户终端可以确定出现次数在区块链中的节点服务器的总数目中所占比例大于预设比例阈值的证书。其中,预设比例阈值可以由技术人员根据对数据安全性的要求进行设置,如果对数据的安全性要求较高,则该预设比例阈值可以设置较高一些,例如,可以设置为80%或100%;如果对数据的安全性要求较低,则该预设比例阈值可以设置较低一些。

或者,用户终端也可以确定出现次数大于预设数目阈值的指纹信息,该预设数目阈值可以由技术人员根据节点服务器的总数目进行设置。例如,区块链中的节点服务器的总数目为N,则N可以表示为3F+1的形式,比如N为4,则F为1,N为5,则F为1.33。预设数目阈值可以为3F+1-E,其中,E为F向下取整得到的整数,比如N为5,则F为1.33,E为1,预设数目阈值为5-1=4。这样,区块链可以具有一定的容错能力,也即,在小于等于E个节点服务器出现问题时,区块链依然可以正常工作。

步骤208,用户终端对指纹信息中的验证信息进行验签。

在实施中,用户终端与证书中心服务器进行通信之前,会先获取证书中心服务器的证书,从而获取证书中心服务器的公钥。用户终端获取到节点服务器中存储的该证书的指纹信息后,可以用证书中心服务器的公钥对指纹信息中的第一验证信息进行解签(也可称为解密),得到第一验证信息对应的第一验签信息,第一验签信息可以为一个特征值。用户终端可以根据预设的特征值算法(比如某一哈希算法),计算证书中心服务器发送的证书的证书信息的特征值,然后比较解密出的特征值(即第一验签信息)是否与计算出的特征值相同,如果相同,则判定第一验签信息与证书中心服务器中的证书的证书信息匹配,用户终端无需进行其他处理。如果不相同,则判定第一验签信息与证书中心服务器中的证书的证书信息不匹配,执行步骤209。

可选的,对于证书的指纹信息还包括第二验证信息的情况,相应的处理过程可以如下:基于预设的证书的公钥确定第二验证信息对应的第二验签信息;如果第二验签信息与证书信息不匹配,则验签未通过。

在实施中,用户终端获取到节点服务器中存储的证书的指纹信息后,还可以获取该指纹信息中的第二验证信息,然后可以用该证书的公钥对第二验证信息进行解签,得到第二验签信息。用户终端可以判断第二验签信息与证书信息是否匹配,具体的处理过程与第一验签信息的处理过程类似,此处也不赘述。如果用户终端判定第二验签信息与证书信息不匹配,则可以通过证书中心服务器对证书的证书信息进行数据恢复处理。这样,可以根据第一验签信息和第二验证信息对证书进行验证,如果第一验签信息与证书信息匹配,并且第二验签信息与证书信息匹配,则判定验签通过,否则判定验签未通过。

可选的,用户终端还可以先根据第三验证信息判断指纹信息是否被篡改,如果未被篡改,再执行步骤208,相应的处理过程可以如下:获取通过证书中心服务器的私钥对指纹信息进行签名得到的第三验证信息;基于预设的证书中心服务器的公钥确定第三验证信息对应的第三验签信息;如果第三验签信息与指纹信息相匹配,则执行对指纹信息中的验证信息进行验签的步骤。

在实施中,如上所述,用户终端可以预先获取证书中心服务器的证书,从而获取证书中心服务器的公钥。用户终端可以从节点服务器中获取该证书的第三验证信息,然后用证书中心服务器的公钥对第三验证信息进行解签,得到第三验签信息,第三验签信息可以是一个特征值,用户终端可以判断第三验签信息与指纹信息是否匹配,具体的处理过可以参照步骤208中的介绍,不再赘述。如果用户终端判定第三验签信息与指纹信息相匹配,则执行步骤208,否则,可以提示用户该指纹信息存在问题,并可以重新获取指纹信息。

步骤209,用户终端向证书中心服务器发送对应证书的申诉请求,以使证书中心服务器对该证书的证书信息进行数据恢复处理。

在实施中,如果用户终端验证失败,则说明证书中心服务器中存储的证书的证书信息或节点服务器中存储的证书的指纹信息发生错误,用户终端可以向证书中心服务器发送对应该证书的申诉请求。证书中心服务器接收到该申诉请求后,可以对该证书的证书信息进行数据恢复处理。进行数据恢复处理的方式有很多种。例如,证书中心服务器可以获取用户终端中存储的证书的证书信息,比如申诉请求中可以携带有用户终端中存储的证书的证书信息,或者,可以通过人工询问的方式来获取该用户的证书的证书信息,如果获取到的证书信息与证书中心服务器中的不相同,则说明证书中心服务器存储的证书可能存在问题,证书中心服务器可以查询本地记录的日志,进而确定发生的问题,比如是证书的证书信息被篡改,还是本地的代码程序发生错误,然后通过日志恢复技术进行数据恢复,从而解决该问题。日志恢复技术为现有技术,此处不再赘述。

另外,证书中心服务器也可以从节点服务器中获取存储的证书的指纹信息,然后进行验证,具体的处理过程可以后面会进行详细说明。如果验证通过,则技术人员可以确定是否出现其他问题,比如是否是证书中心服务器或用户终端采用的签名算法出现问题,以便解决该问题。如果验证不通过,且技术人员确定证书中心服务器中存储的证书信息不存在问题,则证书中心服务器可以重新生成证书的指纹信息,然后将重新生成的指纹信息发送给节点服务器。如果找不出问题或问题无法解决,则用户可以重新创建一个证书。

另外,用户还可以对自己的证书进行更新,更新证书的处理过程与创建证书的处理过程类似,不在赘述。需要说明的是,当证书信息被修改时,由于区块链中不允许修改数据。因此,节点服务器在对该证书的指纹信息进行更新时,会存储新的指纹信息,不会删除之前的指纹信息,并将新的指纹信息标记为有效的指纹信息。例如,对于用户类型的证书,同一个地址只有最新的一条指纹信息有效;对于节点类型的证书同一个节点ID只有最新的一条指纹信息有效。

基于上述处理,用户在创建证书的过程中,可以对证书信息进行多次验证,有效的防止在创建证书的过程中,证书信息被篡改的情况,从而提高了证书信息的安全性。

该方法还可以应用于节点服务器和证书中心服务器之间,以节点服务器对证书信息进行验证为例,该方法通常应用于节点服务器创建证书的处理过程中,如图3所示,具体的处理流程可以包括如下的步骤:

步骤301,节点服务器向证书中心服务器发送证书创建请求。

该步骤的处理过程可以参照步骤201的相关介绍。

步骤302,节点服务器接收证书中心服务器对该证书的证书信息校验通过后发送的证书信息。

该步骤的处理过程可以参照步骤202的相关介绍。

步骤303,节点服务器通过生成的私钥对该证书的证书信息进行签名,得到第二验证信息,将第二验证信息发送给证书中心服务器。

该步骤的处理过程可以参照步骤203的相关介绍。

步骤304,证书中心服务器接收节点服务器发送的第二验证信息。

该步骤的处理过程可以参照步骤204的相关介绍。

步骤305,证书中心服务器基于节点服务器生成的公钥确定第二验证信息对应的第二验签信息,判断第二验签信息是否与节点服务器发送的证书的证书信息相匹配。

该步骤的处理过程可以参照步骤205的相关介绍。

步骤306,证书中心服务器将第一验证信息和第二验证信息发送给节点服务器。

该步骤的处理过程可以参照步骤206的相关介绍。

步骤307,节点服务器对指纹信息中的验证信息进行验签,如果验签通过,则不进行其他处理,如果验签未通过,则执行步骤308。

该步骤的处理过程可以参照步骤207~208的相关介绍。

步骤308,节点服务器向证书中心服务器发送对应证书的申诉请求,以使证书中心服务器对证书的证书信息进行数据恢复处理。

该步骤的处理过程可以参照步骤209的相关介绍。

基于上述处理,节点服务器在创建证书的过程中,可以对证书信息进行多次验证,有效的防止在创建证书的过程中,证书信息被篡改的情况,从而提高了证书信息的安全性。

另外,对于证书的指纹信息中可以包括证书的公开信息的情况,其他请求设备可以从节点服务器中获取该证书的公钥,以便与该证书所属的用户终端进行通信,相应的处理过程可以如下:接收请求设备发送的该证书的证书获取请求;获取该证书的指纹信息中的公开信息,将公开信息发送给该请求设备。

在实施中,请求设备可以是区块链中的任意请求设备,比如某节点服务器或某用户终端或某监管终端。请求设备中可以预先存储区块链中的各节点服务器的地址,请求设备可以向某个节点服务器发送证书获取请求,该证书获取请求中可以携带有该证书的标识。请求设备在区块链中的各节点服务器中,可以随机选择一个节点服务器,然后发送证书获取请求,或者,也可以向预设的某个节点服务器发送证书获取请求。另外,请求设备也可以向区块链中的多个节点服务器或全部节点服务器发送证书获取请求。

对于向某个节点服务器发送证书获取请求的情况,该节点服务器接收到证书获取请求后,可以将该证书获取请求发送给区块链中除该节点服务器以外的其他节点服务器。各节点服务器中,都可以存储各证书的指纹信息,指纹信息可以包括证书的公开信息,比如证书标识、请求设备生成的公钥和签名明文等可以向其他请求设备公开的信息。对于区块链中的任一节点服务器,该节点服务器接收到证书获取请求后,可以对证书获取请求进行解析,获取其中的证书的标识,然后可以查找该证书的标识对应的指纹信息,将该指纹信息中的公开信息发送给该请求设备,节点服务器可以只发送公开信息,也可以将整个指纹信息发送给该请求设备。以节点服务器发送指纹信息为例,请求设备可以接收到区块链中的各节点服务器发送的指纹信息,请求设备接收到的多个指纹信息可以是完全相同的,也可能是不完全相同的。请求设备可以在各节点服务器发送的指纹信息中,确定出现次数满足预设数目条件的指纹信息,然后进行存储。如果接收到的指纹信息中,不存在满足预设数目条件的指纹信息,则说明区块链中可能有大量异常或者欺诈的节点服务器,请求设备可以向预设的运营机构报告该错误,例如,预设的运营机构可以为央行。具体的处理过程可以参照上述步骤209,不再赘述。

这样,在区块链的中获取公开信息可以不依赖于证书中心服务器,如果证书中心服务器发生了故障,基于区块链的中的节点服务器也可以获取到公开信息,区块链中的交易仍然可以正常进行。

该方法还可以应用于监管终端和证书中心服务器之间,以监管终端对证书信息进行验证为例,该方法通常应用于监管终端对某些用户进行调查的处理过程中,如图4所示,具体的处理流程可以包括如下的步骤:

步骤401,监管终端获取证书中心服务器当前存储的证书的证书信息,以及节点服务器中存储的证书的指纹信息。

其中,该证书可以为证书中心服务器存储的任一证书。

在实施中,监管终端想要调查某个用户的交易行为时,可以向证书中心服务器发送对应该用户的证书获取请求,该证书获取请求中可以携带有该用户的用户标识。证书中心服务器接收到证书获取请求后,可以根据该用户标识,获取对应的证书信息,然后可以将获取到的证书信息发送给监管终端。监管终端获取节点服务器中存储的证书的指纹信息的处理过程可以参照步骤207的相关介绍。

步骤402,监管终端对所述指纹信息中的验证信息进行验签,如果验签通过,则执行步骤403,否则,执行步骤404。

该步骤的处理过程可以参照步骤208的相关介绍。

步骤403,监管终端从节点服务器中获取证书对应的交易信息。

在实施中,进行交易的两个用户终端在向对方发送通信消息时,可以在通信消息中添加由自己私钥对签名明文进行签名的信息,以及自己证书的标识,对方可以通过该证书的标识从证书中心服务器中获取自己的证书,通过该证书中的公钥对自己进行身份验证。基于此,用户通过某节点服务器与其他用户进行交易时,该节点服务器可以生成包含这两个用户终端的证书的标识的交易记录。监管终端从证书中心服务器中获取想要调查的用户终端的证书后,可以从节点服务器中查询该证书对应的交易记录,从而判断该证书对应的用户是否存在洗钱等违法行为。

步骤404,监管终端向证书中心服务器发送对应证书的申诉请求,以使证书中心服务器对证书的证书信息进行数据恢复处理。

该步骤的处理过程可以参照步骤209的相关介绍。

基于上述处理,监管终端可以判定证书中心服务器发送的证书信息是否可靠,防止因证书信息被篡改而无法获取到正确的交易记录的情况。

该方法还可以应用于节点服务器和证书中心服务器之间,以证书中心服务器对证书信息进行验证为例,该方法通常应用于证书中心服务器检测本地存储的数据是否被篡改的处理过程中,如图5所示,具体的处理流程可以包括如下的步骤:

步骤501,证书中心服务器获取当前存储的证书的证书信息,以及节点服务器中存储的证书的指纹信息。

该步骤的处理过程可以参照步骤207的相关介绍。

步骤502,证书中心服务器对所述指纹信息中的验证信息进行验签,如果验签通过,则可以将该证书记录为验证通过的证书,如果验签未通过,则执行步骤503。

该步骤的处理过程可以参照步骤208的相关介绍。

步骤503,证书中心服务器进行数据恢复处理。

该步骤的处理过程可以参照步骤209的相关介绍。

这样,证书中心服务器可以周期性的将本地存储的证书信息,与区块链的节点中存储的指纹信息进行对比,从而检测本地存储的证书信息是否被篡改,并可以在检测到证书信息被篡改时,及时的对数据进行恢复处理,从而可以提高证书中心服务器存储数据的可靠性。

本实施例还提供了一种管理证书的方法,该方法可以应用于证书中心服务器、区块链的节点服务器、用户终端或监管终端,如图6所示,该方法的处理程可以如下:

步骤601,获取证书中心服务器中当前存储的证书的证书信息,以及节点服务器中存储的证书的指纹信息。

其中,该证书为证书中心服务器存储的任一证书,证书的指纹信息至少包括对预先获取的证书的证书信息进行签名得到的验证信息。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤202、步骤207的相关介绍;如果执行主体为节点服务器,则参照上述步骤302、步骤307的相关介绍;如果执行主体为监管终端,则参照上述步骤401的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤501的相关介绍。

可选的,在请求设备创建证书的过程中,证书中心服务器可以验证请求设备发送的证书信息是否可靠,验证通过后可以生成第一验证信息,并将第一验证信息和第二验证信息发送给节点服务器,节点服务器存储该证书的第一验证信息和第二验证信息,以便后续进行对证书信息进行验证,相应的处理过程可以如下:接收第一请求设备发送的证书的证书信息和第二验证信息;基于证书的公钥确定第二验证信息对应的第二验签信息,如果第二验签信息与第一请求设备发送的证书的证书信息相匹配,则通过预设的证书中心服务器的私钥对第一请求设备发送的证书的证书信息进行签名,得到第一验证信息;将第一验证信息和第二验证信息发送给节点服务器。

本步骤的执行主体可以为证书中心服务器,本步骤的处理过程可以参照上述步骤204~步骤206的相关介绍。

步骤602,对指纹信息中的验证信息进行验签。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤208的相关介绍;如果执行主体为节点服务器,则参照上述步骤307的相关介绍;如果执行主体为监管终端,则参照上述步骤402的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤502的相关介绍。

可选的,指纹信息中的验证信息可以包括通过证书中心服务器的私钥对预先获取的证书的证书信息进行签名得到的第一验证信息,相应的,步骤602的处理过程可以如下:基于预设的证书中心服务器的公钥确定第一验证信息对应的第一验签信息;如果第一验签信息与证书中心服务器中的证书的证书信息不匹配,则验签未通过。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤208的相关介绍;如果执行主体为节点服务器,则参照上述步骤307的相关介绍;如果执行主体为监管终端,则参照上述步骤402的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤502的相关介绍。

可选的,指纹信息中的验证信息还可以包括通过证书的私钥对预先获取的证书的证书信息进行签名得到的第二验证信息,相应的,步骤602的处理过程可以如下:基于预设的证书的公钥确定第二验证信息对应的第二验签信息;如果第二验签信息与证书信息不匹配,则验签未通过。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤208的相关介绍;如果执行主体为节点服务器,则参照上述步骤307的相关介绍;如果执行主体为监管终端,则参照上述步骤402的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤502的相关介绍。

可选的,证书中心可以对指纹信息进行签名,以便后续在验证时可以判断该指纹信息是否被篡改,相应的处理过程可以如下:获取通过证书中心服务器的私钥对指纹信息进行签名得到的第三验证信息;基于预设的证书中心服务器的公钥确定第三验证信息对应的第三验签信息;如果第三验签信息与指纹信息相匹配,则执行对指纹信息中的验证信息进行验签的步骤。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤208的相关介绍;如果执行主体为节点服务器,则参照上述步骤307的相关介绍;如果执行主体为监管终端,则参照上述步骤402的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤502的相关介绍。

步骤603,如果验签未通过,则通过证书中心服务器对证书的证书信息进行数据恢复处理。

本步骤的执行主体可以为用户终端、节点服务器、监管终端和证书中心服务器中的任意一个,如果执行主体为用户终端,则可以参照上述步骤209的相关介绍;如果执行主体为节点服务器,则参照上述步骤308的相关介绍;如果执行主体为监管终端,则参照上述步骤404的相关介绍;如果执行主体为证书中心服务器,则参照上述步骤503的相关介绍。

可选的,指纹信息中还可以包括证书的公开信息,各请求设备可以从节点服务中获取证书的公开信息,相应的,节点服务器的处理过程可以如下:接收第二请求设备发送的证书的证书获取请求;获取证书的公开信息,将公开信息发送给第二请求设备。

本步骤的执行主体可以为节点服务器,本步骤的处理过程可以参照上述步骤308的相关介绍。

本发明实施例中,通过证书中心服务器中存储的证书的证书信息,和节点服务器中存储的证书的指纹信息对证书信息进行校验,可以确定证书中心服务器中存储的证书信息是否被篡改,并可以及时的对被篡改的证书信息进行数据恢复处理,以使用户终端、节点服务器和监管终端使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

基于相同的技术构思,本发明实施例还提供了一种管理证书的装置,所述装置应用于证书中心服务器或请求设备,所述请求设备包括终端或区块链的节点服务器;其中,所述证书中心服务器中存储证书的证书信息,所述节点服务器存储证书的指纹信息,如图7所示,该装置包括:

获取模块710,用于获取证书中心服务器中当前存储的证书的证书信息,以及节点服务器中存储的所述证书的指纹信息,所述证书为所述证书中心服务器存储的任一证书,所述证书的指纹信息至少包括对预先获取的所述证书的证书信息进行签名得到的验证信息;

验证模块720,用于对所述指纹信息中的验证信息进行验签;

处理模块730,用于当验签未通过时,通过证书中心服务器对所述证书的证书信息进行数据恢复处理。

可选的,所述指纹信息中的验证信息包括通过所述证书中心服务器的私钥对所述预先获取的所述证书的证书信息进行签名得到的第一验证信息;

所述验证模块720,用于基于预设的所述证书中心服务器的公钥确定所述第一验证信息对应的第一验签信息;如果所述第一验签信息与所述证书中心服务器中的所述证书的证书信息不匹配,则验签未通过。

可选的,所述指纹信息中的验证信息还包括通过所述证书的私钥对所述预先获取的所述证书的证书信息进行签名得到的第二验证信息;

所述验证模块720,用于基于预设的所述证书的公钥确定所述第二验证信息对应的第二验签信息;如果所述第二验签信息与所述证书信息不匹配,则验签未通过。

可选的,如图8所示,所述装置应用于证书中心服务器,所述装置还包括:

第一接收模块740,用于接收第一请求设备发送的所述证书的证书信息和所述第二验证信息;

生成模块750,用于基于所述证书的公钥确定所述第二验证信息对应的所述第二验签信息,如果所述第二验签信息与所述第一请求设备发送的所述证书的证书信息相匹配,则通过预设的所述证书中心服务器的私钥对所述第一请求设备发送的证书的证书信息进行签名,得到所述第一验证信息;

第一发送模块760,用于将所述第一验证信息和所述第二验证信息发送给所述节点服务器。

可选的,所述获取模块710,还用于获取通过证书中心服务器的私钥对所述指纹信息进行签名得到的第三验证信息;

所述验证模块720,还用于基于预设的所述证书中心服务器的公钥确定所述第三验证信息对应的第三验签信息;如果所述第三验签信息与所述指纹信息相匹配,则执行对所述指纹信息中的验证信息进行验签的步骤。

可选的,如图9所示,所述装置应用于节点服务器,所述指纹信息中还包括所述证书的公开信息,所述装置还包括:

第二接收模块770,用于接收第二请求设备发送的所述证书的证书获取请求;

第二发送模块780,用于获取所述证书的公开信息,将所述公开信息发送给所述第二请求设备。

本发明实施例中,通过证书中心服务器中存储的证书的证书信息,和节点服务器中存储的证书的指纹信息对证书信息进行校验,可以确定证书中心服务器中存储的证书信息是否被篡改,并可以及时的对被篡改的证书信息进行数据恢复处理,以使用户终端、节点服务器和监管终端使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

需要说明的是:上述实施例提供的管理证书的装置在管理证书时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的管理证书的装置与管理证书的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于相同的技术构思,本发明实施例还提供了一种证书中心服务器,该证书服务器可以包括如图7或图8所示的装置,该装置中的模块的具体功能和实现方式可以参见上述说明。

基于相同的技术构思,本发明实施例还提供了一种节点服务器,该节点服务器可以包括如图7或图9所示的装置,该装置中的模块的具体功能和实现方式可以参见上述说明。

基于相同的技术构思,本发明实施例还提供了一种终端,该终端可以包括如图7所示的装置,该装置中的模块的具体功能和实现方式可以参见上述说明。

图10是本发明实施例提供的服务器的结构示意图。该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。

服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

服务器600可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于证书中心服务器或节点服务器执行上述管理证书的方法。

本发明实施例中,通过证书中心服务器中存储的证书的证书信息,和节点服务器中存储的证书的指纹信息对证书信息进行校验,可以确定证书中心服务器中存储的证书信息是否被篡改,并可以及时的对被篡改的证书信息进行数据恢复处理,以使用户终端、节点服务器和监管终端使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

请参考图11,其示出了本发明实施例所涉及的终端的结构示意图,该终端可以用于实施上述实施例中提供的管理证书的方法。具体来讲:

终端900可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wireless fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图11中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图11中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。

WiFi属于短距离无线传输技术,终端900通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端900的显示单元是触摸屏显示器,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于用户终端或监管终端执行上述管理证书的方法的指令。

本发明实施例中,通过证书中心服务器中存储的证书的证书信息,和节点服务器中存储的证书的指纹信息对证书信息进行校验,可以确定证书中心服务器中存储的证书信息是否被篡改,并可以及时的对被篡改的证书信息进行数据恢复处理,以使用户终端、节点服务器和监管终端使用的证书为正确的证书,从而避免使用证书的过程中出现问题。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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