基于区块链的金融机构证书的篡改验证系统和方法与流程

文档序号:16050806发布日期:2018-11-24 11:16阅读:177来源:国知局

本发明涉及一种基于区块链验证金融机构(fi)的证书是否为伪造的系统以及使用该系统的方法;更具体地,该系统包括:fi终端,如果生成证书则用于发送用于证书的认证的记录请求、用于存储响应于记录请求而发送的特定交易id、以及如果接收到证书的下载请求则用于发送证书和特定交易id;认证管理服务器,响应于来自fi终端的记录请求,用于(i)通过使用证书和客户身份信息生成用于注册的特定节点散列信息,(ii)将用于注册的特定节点散列信息存储在证书db中,(iii)如果满足锚定条件中的一个锚定条件,则指示其散列引擎从证书db中检索包含在具有用于注册的特定节点散列信息的特定默克尔树(merkletree)中的预定数量的节点散列信息,其中预定数量由一个锚定条件确定,(iv)通过使用特定默克尔树生成用于注册的特定根散列信息,(v)指示其交易处理引擎生成(v-i)包括用于注册的特定根散列信息的关于证书的特定交易信息和(v-ii)被用作搜索关于证书的特定交易信息的键值的特定交易id,(vi)将特定交易id发送到fi终端,以及(vii)发送关于证书的特定交易信息用于认证;区块链节点,用于将从的认证管理服务器发送的关于证书的特定交易信息存储在区块链中,其中,如果接收到用于加密货币转移的交易信息,则区块链节点通过验证用于加密货币转移的交易信息来认证加密货币转移,并通过参考认证加密货币转移的结果在区块链中存储用于加密货币转移的交易信息;以及客户端设备,用于将下载请求发送到fi终端,并用于在验证证书是否为伪造的验证请求时将响应于下载请求从fi终端接收的证书和特定交易id发送到认证管理服务器;并且其中,认证管理服务器(i)基于所发送的证书、所发送的特定交易id和所发送的客户身份信息来确定证书是否是伪造的,(ii)生成表示证书是否为伪造的与验证相关的信息,以及(iii)允许将与验证相关的信息发送到客户端设备。

背景技术

随着金融交易方式和渠道的多样化以及与金融交易相关的信息被用于各个领域,金融机构经常签发许多证书如存款余额证明、债务证明、银行担保、交易历史、财务信息报表、信用证等。

但是,客户必须前往实际地点并申请证书,这既麻烦又耗时。

用于解决该问题的传统电子证书签发系统(专利1)包括:接收包括类型、目的、客户的关于所请求证书的信息的构件;从特定分类帐(ledger)或数据库中提取与所请求证书的信息相对应的至少一条证书信息的构件;在电子文档库中创建和存储包括证书信息的电子文档的构件;以及通过将存储在库中的电子证书发送到终端而签发证书的构件。

使用该系统,客户可以使用远程位置的终端实时接收证书,而无需物理地访问金融机构。

通常,金融机构主管的印章、钢印或图章等用来证明签发的证书不是伪造的。

显然,传统的电子证书签发系统不能提供可以确定所颁发的证书是真实的还是伪造的诸如印章、钢印或图章等的官方印章。

然而,通过利用传统水印技术的文档签发和认证系统解决了该问题(专利2)。

具体地,利用传统水印技术的文档签发和认证系统提供可以签发具有嵌入水印的在线证书的服务,并且机构或公司通过使用水印提取算法提取嵌入证书中的水印来验证由客户提交的在线证书的完整性和真实性。

然而,在利用传统水印技术的文档签发和认证系统的情况下,文档的伪造仅通过水印是否嵌入到证书中的事实来确定,因此,如果在签发的证书被伪造之后嵌入水印,然后此伪造证书被识别为真实证书,这会产生使系统无用的问题。

当在伪造之后嵌入水印时证书被验证为真实的这种问题被专利3解决,专利3提供了一种基于区块链验证金融机构证书的方法和使用该方法的系统。

也就是说,传统的基于区块链验证金融机构证书的方法和使用该方法的系统具有如下效果:通过比较最初由金融机构签发的客户证书和此后根据客户请求重新签发的证书,准确地验证金融机构签发的证书的真实性,而不管其水印是否经过验证。

尽管有这些优点,但是传统的基于区块链的金融证书验证方法和使用该方法的系统需要用于在区块链节点中存储和管理客户证书的初始签发成本。

初始成本约为0.0001比特币,截至2014年7月,0.0001比特币约为4美分,但是,每当客户证书存储在区块链中时,就会收取这笔费用,因此,由于签发成本的增加与客户证书数量的增加成比例,这成为问题。

另外,传统的证书验证方法和使用该方法的系统在超过十万个区块链节点中注册、存储和管理客户证书以防止伪造。

也就是说,包括客户证书的交易信息的广播由协议定义,并且如果发生包括公钥的交易信息,则一个节点(即区块链节点)将包括公钥的初始交易信息广播到八个指定节点,然后接收信息的八个指定节点中的每一个以金字塔方式再次广播到另外八个指定节点,并且当信息被发送到具有包含比特币转移所需的区块链的数字钱包的所有区块链节点时完成广播。

因此,由于当证书的注册请求大量涌入时包括客户证书的交易信息的通信量很大,传统的基于区块链的证书验证方法和使用该方法的系统具有网络过载的问题。

[现有技术]

[专利文献]

专利文献1:2009年1月8日公开的韩国专利公开no.10-2009-0000740。

专利文献2:2003年3月10日公开的韩国专利公开no.10-2003-0020675。

专利文献3:2015年6月18日提交的韩国专利申请no.10-2015-0086457。



技术实现要素:

本发明的一个目的是解决所有上述问题。本发明的另一个目的是提供一种基于区块链的证书验证方法和使用该方法的系统,其验证金融机构签发的证书是否是伪造的,而不需要水印(水印也可能被伪造),通过比较初始签发时的证书和此后根据客户请求签发的相同内容的证书,降低基于区块链的客户证书注册成本。

本发明的另一个目的是提供基于区块链的证书验证方法和使用该方法的系统,其通过用于在区块链中注册由系统管理员分组和压缩的证书的信息的方法减少网络通信量来最小化网络过载。

根据本发明的一个方面,提供了一种用于基于区块链验证金融机构(fi)的证书是否为伪造的系统,包括:fi终端,fi终端用于,如果生成证书则用于发送用于证书的认证的记录请求、用于存储响应于记录请求而发送的特定交易id、以及如果接收到证书的下载请求则用于发送证书和特定交易id;认证管理服务器,响应于来自fi终端的记录请求,用于(i)通过使用证书和客户身份信息生成用于注册的特定节点散列信息,(ii)将用于注册的特定节点散列信息存储在证书db中,(iii)如果满足锚定条件中的一个锚定条件,则指示其散列引擎从证书db中检索包含在具有用于注册的特定节点散列信息的特定默克尔树中的预定数量的节点散列信息,其中预定数量由一个锚定条件确定,(iv)通过使用特定默克尔树生成用于注册的特定根散列信息,(v)指示其交易处理引擎生成(v-i)包括用于注册的特定根散列信息的关于证书的特定交易信息和(v-ii)被用作搜索关于证书的特定交易信息的键值的特定交易id,(vi)将特定交易id发送到fi终端,以及(vii)发送关于证书的特定交易信息用于认证;区块链节点,用于将从的认证管理服务器发送的关于证书的特定交易信息存储在区块链中,其中,如果接收到用于加密货币转移的交易信息,则区块链节点通过验证用于加密货币转移的交易信息来认证加密货币转移,并通过参考认证加密货币转移的结果在区块链中存储用于加密货币转移的交易信息;以及客户端设备,用于将下载请求发送到fi终端,并用于在验证证书是否为伪造的验证请求时将响应于下载请求从fi终端接收的证书和特定交易id发送到认证管理服务器;并且其中,认证管理服务器(i)基于所发送的证书、所发送的特定交易id和所发送的客户身份信息来确定证书是否是伪造的,(ii)生成表示证书是否为伪造的与验证相关的信息,以及(iii)允许将与验证相关的信息发送到客户端设备。

根据本发明的另一方面,提供了一种用于基于区块链验证金融机构(fi)的证书是否为伪造的系统,包括:认证管理服务器,如果满足锚定条件中的一个锚定条件,则从验证db中检索在满足锚定条件中的一个锚定条件之前已经存储的所有先前交易id,并将先前交易id的每一个发送到区块链节点,其中,区块链节点通过参考先前交易id的每一个提取包含在从区块链检索的关于证书的先前交易信息中的用于注册的先前根散列信息,并将用于注册的先前根散列信息发送到认证管理服务器,并且其中,认证管理服务器(i)接收用于注册的先前根散列信息,(ii)指示其散列引擎将已经存储在证书db中的用于比较的先前节点散列信息分组成多个集合,从而通过散列用于比较的先前节点散列信息整集(set-wise)生成用于比较的先前根散列信息,其中,集合大小由该一个锚定条件确定,(iii)使用于注册的先前根散列信息中的每一条与在它们的生成序列之后的用于比较的先前根散列信息中的每一条成对,(iv)确认用于注册的先前根散列信息中的每一条与用于比较的先前根散列信息中的每一条成对地相同,从而完成存储在认证管理服务器中的证书是否为伪造的验证。

根据本发明的另一方面,提供了一种用于基于区块链验证金融机构(fi)的证书是否为伪造的系统,其中,生成与验证相关的信息包括以下过程:认证管理服务器,如果接收到证书和特定交易id,则将特定交易id发送到区块链节点,从而请求发送关于证书的特定交易信息,区块链节点通过参考特定交易id从区块链节点中检索关于证书的特定交易信息并将关于证书的特定交易信息发送到认证管理服务器,并且认证管理服务器(i)指示其散列引擎通过散列包括从客户端设备发送的客户身份信息和证书的数据组生成用于比较的特定节点散列信息,(ii)比较(ii-1)从区块链节点发送的关于证书的特定交易信息中包括的用于注册的特定节点散列信息和(ii-2)用于比较的特定节点散列信息,以及(iii)生成表示在步骤(ii)中两条相应的特定节点散列信息是否彼此相同的与验证相关的信息。

根据本发明的又一方面,提供了一种用于基于区块链来验证金融机构(fi)的证书是否为伪造的方法,包括:步骤s110,如果生成证书,则fi终端在证书的认证的记录请求时将证书和客户身份信息发送到认证管理服务器;步骤s120,认证管理服务器将一对发送的证书和发送的客户身份信息存储在证书db中,指示其散列引擎通过对该对进行散列来生成用于注册的特定节点散列信息,并将该用于注册的特定节点散列信息存储在证书db中;步骤s130,认证管理服务器确认是否满足锚定条件中的一个锚定条件;步骤s140,如果满足锚定条件中的一个锚定条件,则认证管理服务器指示其散列引擎从证书db中检索包括在具有用于注册的特定节点散列的特定默克尔树中的预定数量的节点散列信息,并通过使用特定默克尔树生成用于注册的特定根散列信息,其中,预定数量由该一个锚定条件确定;步骤s150,认证管理服务器指示其交易处理引擎生成(i)包括用于注册的特定根散列信息的关于证书的特定交易信息和(ii)被用作搜索关于证书的特定交易信息的键值的特定交易id,并将关于证书的特定交易信息发送到区块链节点;步骤s160,区块链节点将关于证书的特定交易信息存储在区块链中,从而执行认证;步骤s170,交易处理引擎将特定交易id发送到fi终端;步骤s180,fi终端存储发送的特定交易id;步骤s190,客户端设备将证书的下载请求发送给fi终端;步骤s200,fi终端将证书及其对应的特定交易id发送给客户端设备;步骤s210,客户端设备在验证证书是否为伪造的验证请求时将证书、其对应的特定交易id和客户身份信息发送给认证管理服务器;步骤s220,认证管理服务器(i)基于发送的证书、发送的交易id和发送的客户身份信息确定证书是否为伪造,(ii)生成表示证书是否为伪造的与验证相关的信息,以及(iii)允许将与验证相关的信息发送到客户端设备;以及步骤s230,客户端设备显示与验证相关的信息。

本发明具有如下效果:通过比较最初金融机构签发的证书和此后根据客户的请求重发的证书来准确地验证从融机构签发的证书的真实性,而不管其水印是否经过验证,并且进一步降低了基于区块链的证书注册成本。

本发明具有如下的另一效果:当在基于区块链注册证书的过程中注册包括关于证书的信息的交易信息时,通过注册根据系统管理员的预定数量分组和压缩的证书的信息减少网络通信量来最小化网络过载。

本发明还具有如下的另一效果:通过周期性地验证存储在金融机构中的客户证书是否为伪造来监视由诸如黑客的非法活动引起的客户证书的可能的伪造。

附图说明

通过下面结合附图对优选实施例的描述,本发明的上述和其它目的和特征将变得显然,其中:

图1是示出根据本发明的用于基于区块链验证金融机构(fi)的证书是否为伪造的系统的配置图;

图2是示出根据本发明的用于基于区块链验证证书是否为伪造的系统的fi终端的框图;

图3是示出根据本发明的用于基于区块链验证证书是否为伪造的系统的认证管理服务器的框图;

图4至图6是示出通过使用根据本发明的用于基于区块链验证证书是否为伪造的系统来验证金融机构签发的证书是否为伪造的过程的流程图;

图7是示出根据本发明的用于基于区块链验证证书是否为伪造的系统的另一示例实施例的fi终端的框图;

图8至图10是示出通过使用根据本发明的用于基于区块链验证证书是否为伪造的系统的另一示例实施例来验证金融机构签发的证书是否为伪造的过程的流程图。

具体实施方式

通过参考关于实施例的配置和效果的附图,将充分详细地描述本发明的以下实施例。

图1是示出根据本发明的用于基于区块链验证金融机构(fi)的证书是否为伪造的系统的配置图,图2是示出根据本发明的用于基于区块链验证证书的系统的fi终端的框图,图3是示出根据本发明的用于基于区块链验证证书的系统的认证管理服务器的框图,图4至图6是示出通过使用根据本发明的用于基于区块链验证证书的系统来验证金融机构签发的证书是否为伪造的过程的流程图。

如图所示,根据本发明的用于基于区块链验证证书的系统可以包括fi终端100、认证管理服务器200、区块链节点300和客户端设备400。

首先,fi终端100可以是由银行、信托机构、保险公司和接受并管理存款、向其他公司或个人贷款、或投资股票等的证券公司操作的终端,并且可以(i)当证书最初由金融机构签发给客户时,请求证书的认证,该证书可以进一步包括关于证书的信息,(ii)存储响应于认证请求而发送的特定交易id,以及(iii)如果接收到证书的下载请求,则发送证书及其相应的特定交易id。

为此目的,fi终端100可以包括db部分110。

具体地,db部分110可以包括:证书列表db111,其存储客户身份信息和将由金融机构提供给客户的证书;以及交易iddb112,其存储用作搜索关于证书的交易信息的键值的交易id。

区块链节点300可以是组成加密货币网络的设备,其通过验证和存储转移来执行加密货币转移。

这里,作为加密货币的示例,简要解释比特币。比特币是一种数字货币,能够支付satoshinakamoto在2009年制造的商品,并且具有分布式的结构,不具有签发和管理货币的中央设备。而是,比特币的交易由基于对等(即p2p)网络和公钥加密的分布式网络处理。

具有这样的支付方法,比特币具有以下优点:可以支付而无需用于信用卡交易的所需信息,例如卡号、有效期和ccv号,并且费用便宜。此外,比特币存储在作为电子文件的数字钱包中,并且唯一地址(即公共地址)被分配给该数字钱包,并且基于唯一地址处理比特币交易。

为了使用具有这种交易特征的比特币,首先,比特币用户可以登录比特币交易所,例如www.coinplug.com,制作数字钱包然后装入krw(即,韩元)。

此后,在确认交易所的比特币的当前汇率之后,比特币用户可以下出包括比特币的数量和单价的购买订单。如果存在与购买订单匹配的销售订单,则发生交易并且比特币用户可以用比特币支付产品。

如上所述,区块链节点300可以包括由比特币交易所操作的一个或多个服务器。

为此目的,各个区块链节点300可以包括数字钱包,并且如果接收到由数字钱包根据典型的比特币转移创建的用于比特币转移的交易信息,则区块链节点300可以验证所接收的用于比特币转移的交易信息从而认证比特币转移,然后可以记录用于比特币转移的交易信息并将其广播到区块链节点300中的指定区块链节点。

也就是说,定义了用于比特币转移的交易信息的广播协议,并且如果发生用于比特币转移的交易信息,则单个节点将用于比特币转移的初始交易信息广播到八个指定节点,然后接收该信息的八个指定节点中的每一个以金字塔形式再次广播到另外八个指定节点,并且当信息被发送到比特币转移所需的区块链中的所有区块链节点300时完成广播。

因此,记录在区块链上的任何信息,包括用于比特币转移的交易信息,都不能被篡改。

同时,区块链节点300可以包括由比特币采矿者操作的服务器或终端,或者用于比特币转移的用户终端,例如pc或智能电话。

在比特币转移的情况下,转移基于包含区块链的数字钱包,并且基于包含区块链的数字钱包的转移方法还可以包括litecoin、darkcoin、namecoin、dogecoin和ripple,并且根据本发明,在验证证书是否为伪造时,可以利用这些来代替比特币。

此外,区块链节点300的区块链可以包括个人交易信息以及用于加密货币支付的交易信息。也就是说,还可以记录关于证书的交易信息,其包括通过散列包括证书和客户身份信息的数据组而生成的节点散列信息。

也就是说,如果发送用于加密货币转移的交易信息,其包括嵌入了节点散列信息的操作代码[return],则相应的区块链节点300中的每一个将交易信息作为个人交易信息而不是作为表示加密货币支付的信息而广播,并且将关于证书的交易信息包含在操作代码[return]中在确定数字内容的真实性,即数字内容是否为伪造方面起主要作用。

这里,如果区块链节点300在认证加密货币转移时检测到包括在用于加密货币转移的交易信息中的操作代码[return]内的特定消息,则区块链节点300可以发送包括特定消息的信息被用于表示任意数据的通知,而不是用于加密货币支付的交易信息。

响应于来自fi终端100的记录请求,认证管理服务器200可以(i)通过使用证书和客户身份信息生成用于注册的特定节点散列信息,(ii)将用于注册的特定节点散列信息存储在证书db211中,以及(iii)如果满足锚定条件中的一个锚定条件,则指示其散列引擎220从证书db211中检索包括在具有用于注册的特定节点散列信息的特定默克尔树中的预定数量的节点散列信息,其中预定数量由该一个锚定条件确定,(iv)通过使用特定默克尔树生成用于注册的特定根散列信息,(v)指示其交易处理引擎230生成包括用于注册的特定根散列信息的关于证书的特定交易信息和被用作搜索关于证书的特定交易信息的键值的特定交易id,(vi)将特定交易id发送到fi终端100,以及(vii)发送关于证书的特定交易信息用于认证。

为此目的,认证管理服务器200可以包括其上述的散列引擎220、其交易处理引擎230及其db部分210。

db部分210可以是存储证书的认证所需的信息的存储设备,并且可以包括其证书db211及其验证db212。

证书db211可以存储证书和客户身份信息,并且可以累积地存储用于注册的节点散列信息和根散列信息等。

验证db212可以累积地存储关于证书的交易信息及其对应的交易id。

由认证管理服务器200操作的交易处理引擎230可以(i)通过将节点散列信息插入指示个人交易信息而不是加密货币支付的操作代码[return]区域来生成关于证书的特定交易信息,(ii)允许关于证书的特定交易信息存储在验证db212中,(iii)生成被用作搜索关于证书的特定交易信息的键值的特定交易id,并将其存储在验证db212中,(iv)将特定交易id发送到fi终端100,以及(v)将关于证书的特定交易信息发送到区块链节点300用于认证。

这里,如果认证管理服务器200执行比特币交易功能,则认证管理服务器200可以包括数字钱包。

这里,认证管理服务器200不立即将关于证书的特定交易信息发送到区块链节点300进行认证。而是,如果认证管理服务器200将关于证书的特定交易信息输入到其区块链数据库中,则认证管理服务器200可以(i)读取关于证书的特定交易信息,(ii)如果在操作代码[return]中检测到某种信息,则省略认证加密货币支付的过程并将包括特定节点散列信息的关于证书的特定交易信息存储在区块链中从而完成认证,以及(iii)将关于证书的交易信息发送到区块链节点300的指定节点用于广播。

因此,如果证书和特定交易id被从下文描述的客户端设备400发送,则散列引擎210可以通过参考特定交易id从认证管理服务器200的区块链数据库中检索与存储在另一区块链节点300中的关于证书的特定交易信息中的特定节点散列信息相同的信息,而不将特定交易id发送到区块链节点300。

锚定条件用于在区块链中注册证书的过程中将包括基于区块链的证书的交易信息分组为系统管理员预定的数量,这使得能够压缩和处理证书,从而网络通信量可以被最小化并且可以降低网络过载。

这样的条件可以变化,并且可以是预定数量的节点散列信息,或者可以是经过了预定量的时间。

认证管理服务器200可以基于从下文描述的客户端设备400发送的证书、特定交易id和客户身份信息来确定证书是否为伪造,并且可以生成表示确定的真实性(即证书是否为伪造)的关于证书的与验证相关的信息。

为此目的,如果从下文描述的客户端设备400接收到证书和特定交易id,则认证管理服务器200可以将特定交易id发送到区块链节点300,从而请求发送关于证书的特定交易信息。这里,区块链节点300可以是区块链节点300中的预先指定的区块链节点。

区块链节点300可以通过参考特定交易id从区块链检索关于证书的特定交易信息,并且可以将关于证书的特定交易信息发送到认证管理服务器200。

认证管理服务器200可以(i)指示其散列引擎210通过散列包括从客户端设备400发送的客户身份信息和证书的数据组来生成用于比较的特定节点散列信息,(ii)比较(ii-1)包括在从区块链节点300发送的关于证书的特定交易信息中的用于注册的特定节点散列信息和(ii-2)用于比较的特定节点散列信息,以及(iii)生成表示在步骤(ii)中两条相应的特定节点散列信息是否彼此相同的与验证相关的信息。

此外,认证管理服务器200可以通过周期性地验证存储在金融机构中的证书是否为伪造来监视由诸如黑客的非法活动引起的证书的可能伪造。

如果满足锚定条件中的一个锚定条件,则认证管理服务器200可以提取在满足锚定条件中的一个锚定条件之前已经累积地存储在验证db212中的所有先前交易id,并且可以将先前交易id的每一个发送到区块链节点300。

区块链节点300可以通过参考先前交易id的每一个检索包括在从区块链检索的关于证书的先前交易信息中的用于注册的先前根散列信息,并且将用于注册的先前根散列信息发送到认证管理服务器200。

认证管理服务器200可以(i)接收用于注册的先前根散列信息,(ii)指示其散列引擎220将已经存储在证书db211中的用于比较的先前节点散列信息分组为多个集合,从而通过散列用于比较的先前节点散列信息整集生成用于比较的先前根散列信息,其中,集合大小由该一个锚定条件确定,(iii)使用于注册的先前根散列信息中的每一条与在它们的生成序列之后的用于比较的先前根散列信息中的每一条成对,(iv)确认用于注册的先前根散列信息中的每一条与用于比较的先前根散列信息中的每一条成对地相同,从而完成存储在认证管理服务器200中的证书是否为伪造的验证。

通过该过程,如果通过验证检测到伪造,则认证管理服务器200可以向金融机构发送伪造证书的通知以允许快速响应。

客户端设备400可以(i)将证书的下载请求发送到fi终端100,(ii)将响应于下载请求从fi终端100接收的证书和特定交易id发送到认证管理服务器200,(iii)请求验证证书的真实性,以及(iv)通过其屏幕显示从认证管理服务器200发送的验证结果以用于客户查看。

使用根据本发明的用于基于区块链验证金融机构的证书是否为伪造的系统来验证由金融机构签发的证书的真实性的过程的描述如下:

首先,在步骤s110,如果创建了证书,则fi终端100可以将证书存储在证书列表db111中,将证书和客户身份信息发送到认证管理服务器200,从而请求认证证书的验证。

在步骤s120,认证管理服务器200可以将发送的证书和发送的客户身份信息存储在证书db211中,可以指示其散列引擎210通过散列包括发送的证书和发送的客户身份信息的数据组来生成用于注册的特定节点散列信息,并且可以将注册的特定节点散列信息累积地存储在证书db211中。

在步骤s130,认证管理服务器200可以重复确认是否满足任何锚定条件,并且如果满足锚定条件中的一个锚定条件,则可以执行两个过程。

首先,在步骤s131,为了监视存储在金融机构中的证书是否被诸如黑客的非法活动伪造的目的,如果满足锚定条件中的一个锚定条件,则认证管理服务器200可以提取在满足锚定条件中的一个锚定条件之前已经存储在验证db212中的所有先前交易id,并且将先前交易id的每一个发送到区块链节点300。

在步骤s132,区块链节点300可以通过参考先前交易id的每一个提取包括在从区块链检索的关于证书的先前交易信息中的用于注册的先前根散列信息。

在步骤s133,区块链节点300可以将用于注册的先前根散列信息发送到认证管理服务器200。

在步骤s134,认证管理服务器200可以接收用于注册的先前根散列信息,可以指示其散列引擎220将在满足锚定条件中的一个锚定条件之前已经存储在证书db211中的用于比较的先前节点散列信息分组为多个集合,从而通过散列用于比较的先前节点散列信息整集生成用于比较的先前根散列信息,其中,集合大小由一个锚定条件确定。

此后,在步骤s135,散列引擎220可以使用于注册的先前根散列信息中的每一条与在它们的生成序列之后的用于比较的先前根散列信息中的每一条成对,可以确认用于注册的先前根散列信息中的每一条与用于比较的先前根散列信息中的每一条成对地相同,从而完成存储在认证管理服务器200中的证书是否为伪造的验证。

此外,在步骤s140,如果满足锚定条件中的一个锚定条件,则认证管理服务器200可以指示其散列引擎220从证书db211中检索包括在具有用于注册的特定节点散列信息的特定默克尔树中的预定数量的节点散列信息,并且可以通过使用特定默克尔树生成用于注册的特定根散列信息,其中,预定数量由一个锚定条件确定。

此后,在步骤s150,认证管理服务器200可以指示其交易处理引擎230生成(i)包括用于注册的特定根散列信息的关于证书的特定交易信息和(ii)被用作搜索关于证书的特定交易信息的键值的特定交易id,并将关于证书的特定交易信息发送到区块链节点300。

在步骤s160,区块链节点300可以将关于证书的特定交易信息存储在区块链中,从而执行认证。

然后,在步骤s170,认证管理服务器200的交易处理引擎230可以将特定交易id发送到fi终端100。

在步骤s180,fi终端100可以将发送的特定交易id存储在验证db212中。

此后,在步骤s190,客户端设备400可以将证书的下载请求发送到fi终端100。

在步骤s200,fi终端100可以根据请求将证书及其对应的特定交易id发送到客户端设备400。

在步骤s210,客户端设备400可以将证书、其对应的特定交易id以及客户身份信息发送到认证管理服务器200,从而请求验证证书是否为伪造。

在步骤s220,认证管理服务器200可以(i)基于发送的证书、发送的特定交易id和发送的客户身份信息确定证书是否为伪造,(ii)生成与验证相关的信息,以及(iii)允许将与验证相关的信息发送到客户端设备400。

在此,生成与验证相关的信息的过程如下。

首先,在步骤s221,如果接收到证书和特定交易id,则认证管理服务器200可以将特定交易id发送到区块链节点300,从而请求发送关于证书的特定交易信息。

在步骤s222,区块链节点300可以通过参考特定交易id从区块链检索关于证书的特定交易信息,并且可以将关于证书的特定交易信息发送到认证管理服务器200。

在步骤s223,认证管理服务器200可以(i)指示其散列引擎210通过散列包括从客户端设备400发送的客户身份信息和证书的数据组来生成用于比较的特定节点散列信息,(ii)比较(ii-1)包括在从区块链节点300发送的关于证书的特定交易信息中的用于注册的特定节点散列信息和(ii-2)用于比较的特定节点散列信息,以及(iii)生成表示在步骤(ii)中两条相应的特定节点散列信息是否彼此相同的与验证相关的信息。

在步骤s230,可以通过显示发送的证书来确认真实性来向客户端设备400提供有效的金融文件。

同时,由于关于由金融机构签发的证书的各种信息被发送到认证管理服务器200以验证其真实性,因此可能存在机密文件泄漏的可能性。

为了防止这种泄漏的发生,提供了本发明的另一示例实施例。

图7是示出根据本发明的另一示例实施例的基于区块链的系统的fi终端的框图,图8至图10是示出通过使用根据本发明的另一示例实施例的基于区块链的系统来验证金融机构签发的证书的真实性的过程的流程图。

在此,尽管包括在根据前述示例实施例的技术配置中的fi终端100、认证管理服务器200、区块链节点300和客户端设备400是相同的,但它们的内部组成和操作架构可能会部分不同。此外,在几个视图中相同的附图标记表示相同或相似的功能,并且下面公开了根据本发明的另一示例实施例的细节。

首先,fi终端100可以包括其散列引擎120以执行验证真实性的过程,而无需将证书发送到认证管理服务器200。

通过该过程,如果生成证书,则fi终端100可以指示其散列引擎120通过使用证书和客户身份信息来生成用于注册的特定节点散列信息,可以发送证书的认证的记录请求,可以存储响应于记录请求而发送的特定交易id,如果请求下载证书则发送证书和特定交易id,并且如果客户端设备400请求下载证书,则可以发送证书和特定交易id到客户端设备400。

此外,在客户端设备400中也可以包括散列引擎,因此如果响应于发送到fi终端100的下载证书的请求从fi终端100发送证书和特定交易id,则客户端设备400可以(i)指示其散列引擎通过散列包括证书和客户身份信息的数据组生成用于比较的特定节点散列信息,以及(ii)发送用于比较的特定节点散列信息和特定交易id到认证管理服务器200。

因此,不同之处在于认证管理服务器200可以(i)基于所发送的用于比较的特定节点散列信息和所发送的特定交易id来确定证书是否是伪造的,(ii)生成表示证书是否为伪造的与验证相关的信息,以及(iii)可以允许将与验证相关的信息发送到客户端设备400。

根据本发明的另一示例实施例的基于区块链验证证书的真实性的过程的描述如下。

首先,在步骤s310,如果生成证书,则fi终端100可以指示其散列引擎120通过散列包括证书和客户身份信息的数据组来生成用于注册的特定节点散列信息,并在认证证书的记录请求时向认证管理服务器200发送用于注册的特定节点散列信息。

在步骤s320,认证管理服务器200可以将所发送的用于注册的特定节点散列信息存储在证书db211中。

在此,在步骤s330,认证管理服务器200可以重复确认是否满足任何锚定条件,并且如果满足锚定条件中的一个锚定条件,则可以执行两个过程。

首先,在步骤s331,如果满足锚定条件中的一个锚定条件,则认证管理服务器200可以提取在满足锚定条件中的一个锚定条件之前已经存储在验证db212中的所有先前交易id,并且将先前交易id的每一个发送到区块链节点300。

在步骤s332,区块链节点300可以通过参考先前交易id的每一个来检索包括在从区块链检索的关于证书的先前交易信息中的用于注册的先前根散列信息,并且在步骤s333,将用于注册的先前根散列信息发送到认证管理服务器200。

在步骤s334,认证管理服务器200可以接收用于注册的先前根散列信息,可以指示其散列引擎220将在满足锚定条件中的一个锚定条件之前已经存储在证书db211中的用于比较的先前节点散列信息分组为多个集合,从而通过散列用于比较的先前节点散列信息整集来生成用于比较的先前根散列信息,其中,集合大小由该一个锚定条件确定。

此后,在步骤s335,散列引擎220可以使用于注册的先前根散列信息中的每一条与在它们的生成序列之后的用于比较的先前根散列信息中的每一条成对,可以确认用于注册的先前根散列信息中的每一条与用于比较的先前根散列信息中的每一条成对地相同,从而完成存储在认证管理服务器200中的证书是否为伪造的验证。

此外,在步骤s340,如果满足锚定条件中的一个锚定条件,则认证管理服务器200可以指示其散列引擎220从证书db211中检索包括在具有用于注册的特定节点散列信息的特定默克尔树中的预定数量的节点散列信息,其中预定数量由该一个锚定条件确定,并且可以通过使用特定默克尔树生成用于注册的特定根散列信息。

此后,在步骤s350,认证管理服务器200可以指示其交易处理引擎230生成(i)包括用于注册的特定根散列信息的关于证书的特定交易信息和(ii)被用作搜索关于证书的特定交易信息的键值的特定交易id,并将关于证书的特定交易信息发送到区块链节点300。

在步骤s360,区块链节点300可以将关于证书的特定交易信息存储在区块链中,从而执行认证。

然后,在步骤s370,认证管理服务器200的交易处理引擎230可以将特定交易id发送到fi终端100。

在步骤s380,fi终端100可以存储所发送的特定交易id。

此后,在步骤s390,客户端设备400可以将证书的下载请求发送到fi终端100。

在步骤s400,fi终端100可以根据请求将证书及其对应的特定交易id发送到客户端设备400。

在步骤s410,客户端设备400可以指示其散列引擎通过散列包括发送的证书和客户身份信息的数据组生成用于比较的特定节点散列信息,并在验证证书是否为伪造的验证请求时向认证管理服务器200发送生成的用于比较的特定节点散列信息和特定交易id。

在步骤s420,认证管理服务器200可以(i)基于所发送的用于比较的特定节点散列信息和所发送的特定交易id来确定证书是否是伪造的,(ii)生成表示证书是否是伪造的与验证相关的信息,以及(iii)可以允许将与验证相关的信息发送到客户端设备400。

在此,生成与验证相关的信息的过程如下。

在步骤s421,如果接收到用于比较的特定节点散列信息和特定交易id,则认证管理服务器200可以将特定交易id发送到区块链节点300,从而请求发送关于证书的特定交易信息。

在步骤s422,区块链节点300可以通过参考特定交易id从区块链检索关于证书的特定交易信息,并且可以将关于证书的特定交易信息发送到认证管理服务器200。

在步骤s423,认证管理服务器200可以(i)指示其散列引擎210将(i-1)包括在从区块链节点300发送的关于证书的特定交易信息中的用于注册的特定节点散列信息与(i-2)用于比较的特定节点散列信息进行比较,以及(ii)生成表示在步骤(i)中两条相应的特定节点散列信息是否彼此相同的与验证相关的信息。

在步骤s430,客户端设备400可以显示与验证相关的信息。

[附图标记]

100:金融机构终端110,210:散列引擎

110,210:db部分

111:证书列表信息db

112:交易身份信息db

111:证书列表散列信息db

112:交易身份散列信息db

200:认证管理服务器

211:证书db

212:验证db

220:散列引擎300:区块链节点

400:客户端设备

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