一种基于区块链的企业信用报告查询方法、装置及系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的企业信用报告查询方法、装置及系统。
背景技术
企业信用报告是企业进行融资、贷款时的重要参考依据,通常存储在信用评估机构,例如企业曾经申请贷款的银行等。同时,企业信用报告也是企业的隐私信息,尤其是对于竞争对手而言。
既有的企业信用报告共享方法主要关注点在于如何实现数据加密存储及访问,然而事实上,目前的数据共享技术存在安全漏洞,非法用户或用户采用非法设备盗取文件数据导致数据泄露,为企业带来损失。
发明内容
有鉴于此,本发明提供了一种基于区块链的企业信用报告查询方法、装置及系统,用以解决既有的企业信用报告共享方法主要关注点在于如何实现数据加密存储及访问,然而事实上,目前的数据共享技术存在安全漏洞,非法用户或用户采用非法设备盗取文件数据导致数据泄露,为企业带来损失的问题。具体方案如下:
根据本发明的第1方面,公开了一种基于区块链的企业信用报告查询方法,应用于包括用户终端、认证服务器及节点服务器的系统,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器为所述数据共享区块链的节点,所述用户终端与认证服务器数据连接,所述认证服务器与节点服务器数据连接,且所述用户终端与节点服务器数据连接;所述查询方法包括:
当接收到用户对所述数据共享区块链中目标企业信用报告的查询请求时,对用户信息及用户终端的设备进行验证,包括:
用户终端利用设备指纹认证算法对用户终端的设备认证信息进行计算,生成第一哈希值;
利用该第一哈希值及待验证用户信息生成第一密钥对,利用第一密钥对的第一私钥对待验证用户信息进行加密生成用户信息密文,并将用户ID、第一哈希值以及上述用户信息密文发送给认证服务器,以及将用户ID以及与该用户ID对应的第一公钥发送给节点服务器;
节点服务器将与用户ID对应的第一公钥发送给认证服务器;认证服务器利用该第一公钥解密所述用户信息密文,获得解密后的用户信息,当判定解密后的用户信息和记录的用户信息相同时,生成第一验证通过消息,将所述第一验证通过消息发送至所述用户终端及节点服务器;
认证服务器根据所述第一哈希值、第一公钥生成第二密钥对,并将第二密钥对的第二公钥发送给节点服务器;
节点服务器利用第二公钥对从本地随机选择的设备指纹验证算法及设备验证信息进行加密,形成设备指纹验证密文,发送给认证服务器;
认证服务器利用第二私钥对设备指纹验证密文进行解密,获取设备指纹验证算法以及设备验证信息,利用该设备指纹验证算法对设备验证信息进行计算,生成第二哈希值;
认证服务器比较所述第一哈希值与第二哈希值的相似度,当相似度高于设定阈值时,生成第二验证通过消息,将所述第二验证通过消息发送至所述用户终端及节点服务器,并将所述设备指纹认证算法更新为所述设备指纹验证算法;
其中,所述设备指纹认证算法、设备指纹验证算法分别为存储在数据共享区块链的多种设备指纹算法中的一种,所述设备认证信息、设备验证信息分别为存储在数据共享区块链的用户终端设备信息的子集;
以及基于智能合约查询所述节点服务器中的所述目标企业信用报告。
在另外的一些实施例中,所述用户信息为用户指纹信息,截取所述第一哈希值及用户指纹信息的一部分进行计算,生成第一密钥对。
在另外的一些实施例中,通过计算第一哈希值与第二哈希值之间的汉明距离比较所述第一哈希值与第二哈希值的相似度。
在另外的一些实施例中,所述用户终端设备信息包括设备硬件信息及设备使用数据。
根据本发明的第2方面,公开了一种基于区块链的企业信用报告查询系统,包括用户终端、认证服务器及节点服务器,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器为所述数据共享区块链的节点,所述用户终端与认证服务器数据连接,所述认证服务器与节点服务器数据连接,且所述用户终端与节点服务器数据连接;
所述用户终端用于在接收用户对所述数据共享区块链中目标企业信用报告的查询请求时,利用设备指纹认证算法对用户终端的设备认证信息进行计算,生成第一哈希值;利用该第一哈希值及待验证用户信息生成第一密钥对,利用第一密钥对的第一私钥对待验证用户信息进行加密生成用户信息密文,并将用户ID、第一哈希值以及上述用户信息密文发送给认证服务器,以及将用户ID以及与该用户ID对应的第一公钥发送给节点服务器;
节点服务器用于将与用户ID对应的第一公钥发送给认证服务器,认证服务器利用该第一公钥解密所述用户信息密文,获得解密后的用户信息,当判定解密后的用户信息和记录的用户信息相同时,生成第一验证通过消息,将所述第一验证通过消息发送至所述用户终端及节点服务器;
认证服务器根据所述第一哈希值、第一公钥生成第二密钥对,并将第二密钥对的第二公钥发送给节点服务器;
节点服务器利用第二公钥对从本地随机选择的设备指纹验证算法及设备验证信息进行加密,形成设备指纹验证密文,发送给认证服务器;
认证服务器利用第二私钥对设备指纹验证密文进行解密,获取设备指纹验证算法以及设备验证信息,利用该设备指纹验证算法对设备验证信息进行计算,生成第二哈希值;
认证服务器比较所述第一哈希值与第二哈希值的相似度,当相似度高于设定阈值时,生成第二验证通过消息,将所述第二验证通过消息发送至所述用户终端及节点服务器,并将所述设备指纹认证算法更新为所述设备指纹验证算法;
其中,所述设备指纹认证算法、设备指纹验证算法分别为存储在数据共享区块链的多种设备指纹算法中的一种,所述设备认证信息、设备验证信息分别为存储在数据共享区块链的设备信息的子集;
节点服务器基于智能合约查询并向用户提供所述目标企业信用报告。
根据本发明的第3方面,公开了一种基于区块链的企业信用报告查询方法,应用于包括用户终端、认证服务器及节点服务器的系统,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器为所述数据共享区块链的节点,所述用户终端与认证服务器数据连接,所述认证服务器与节点服务器数据连接,且所述用户终端与节点服务器数据连接;所述查询方法包括:
当接收到用户对所述数据共享区块链中目标企业信用报告的查询请求时,对所述用户的登录信息进行认证;
在所述登录信息认证通过的情况下,接收所述用户终端发送的设备认证凭证,对所述设备认证凭证进行验证;
在验证通过的情况下,基于智能合约查询所述节点服务器中的所述目标企业信用报告;
其中,在所述登录信息认证通过的情况下,认证服务器接收所述用户终端发送的设备认证凭证,对所述设备认证凭证进行验证,包括:
节点服务器发送设备认证计算算法到所述认证服务器,以令所述认证服务器基于所述设备认证计算算法生成设备认证码;以及将与设备认证计算算法对应的验证码通过认证服务器的公钥加密,并发送到认证服务器;
认证服务器接收所述用户终端发送的设备认证凭证,获取所述设备认证凭证中的设备标识、用户信息、历史登录时间及历史认证次数,并基于所述用户信息、历史登录时间以及历史认证次数采用所述设备认证计算算法计算认证码;其中,认证服务器基于所述用户信息的反三角函数值与认证服务器记录的用户登录时间、该设备的当前认证次数的叠加信息计算该设备的认证码;以及比较所述认证码与所述验证码,生成认证消息。
在另外的一些实施例中,所述认证码及所述验证码为哈希值。
根据本发明的第4方面,公开了一种基于区块链的企业信用报告查询装置,应用于包括用户终端、认证服务器及节点服务器的系统,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器为所述数据共享区块链的节点,所述用户终端与认证服务器数据连接,所述认证服务器与节点服务器数据连接,且所述用户终端与节点服务器数据连接;所述查询装置包括:
认证模块,用于当接收到用户对所述数据共享区块链中目标企业信用报告的查询请求时,对所述用户的登录信息进行认证;
验证模块,用于在所述登录信息认证通过的情况下,接收所述用户终端发送的设备认证凭证,对所述设备认证凭证进行验证;
查询模块,用于在验证通过的情况下,基于智能合约查询所述节点服务器中的所述目标企业信用报告;
其中,所述验证模块包括:
发送单元,用于发送设备认证计算算法到所述认证服务器,以令所述认证服务器基于所述设备认证计算算法生成设备认证码;以及将与设备认证计算算法对应的验证码通过认证服务器的公钥加密,并发送到认证服务器;
接收和获取单元,用于接收所述用户终端发送的设备认证凭证,获取所述设备认证凭证中的设备标识、用户信息、历史登录时间、历史认证次数和认证码;以及用于接收所述设备认证计算算法以及与设备认证计算算法对应的验证码;
计算单元,用于基于所述用户信息、历史登录时间及历史认证次数采用所述设备认证计算算法计算认证码;其中,该计算单元基于所述用户信息的反三角函数值与认证服务器记录的用户登录时间、该设备的当前认证次数的叠加信息计算该设备的认证码;
比较单元,用于比较所述验证码和所述认证码。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于区块链的企业信用报告查询方法、装置及系统,当接收到用户对数据共享区块链中目标企业信用报告的查询请求时,对用户信息进行认证;在用户信息认证通过的情况下,接收用户终端发送的设备信息,对设备进行验证;在验证通过的情况下,基于智能合约查询节点服务器中的目标企业信用报告。上述的方法,在查询之前需要对用户进行认证,在用户认证通过时,对用户终端进行验证,验证通过的情况下才可以查询目标企业信用报告,避免了非法用户或用户采用非法设备盗取文件数据导致数据泄露,为企业带来损失的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于区块链的企业信用报告查询系统结构框图;
图2为本发明提供的基于区块链的企业信用报告查询方法示意性工作流程;
图3为根据本发明一种实施方式的基于区块链的企业信用报告查询方法执行流程;
图4为根据本发明另一种实施方式的基于区块链的企业信用报告查询方法执行流程;
图5根据本发明一种实施方式的基于区块链的企业信用报告查询装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种基于区块链的企业信用报告查询方法、装置及系统,应用于对企业信用报告的查询过程中,企业信用报告是企业进行融资、贷款时的重要参考依据,通常存储在信用评估机构,例如企业曾经申请贷款的银行等。同时,企业信用报告也是企业的隐私信息,尤其是对于竞争对手而言。既有的企业信用报告共享方法主要关注点在于如何实现数据加密存储及访问,而对于用户身份的验证关注度较低,然而事实上,非法用户或用户采用非法设备盗取文件数据的事件时有发生。
因此,为了提高企业信用报告共享的安全性,本发明提供了一种基于区块链的企业信用报告的查询方法,应用于用户终端、认证服务器和节点服务器,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器存在于所述数据共享区块链,
其中,所述数据共享区块链的构建过程如下:
将拥有企业信用报告的金融机构,例如银行的作为节点20,形成数据共享区块链100,如图1所示。参与企业信用报告共享的各金融机构通过智能合约将自身拥有的企业信用报告存储地址的地址哈希上传至数据共享区块链上,之所以将所述地址哈希上传至所述数据共享区块链,而不是上传企业信用报告,是因为在区块链上能存储大量数据,加重区块链的运行负担,影响查询效率,因此,将企业信用报告存储在链外数据库中,而仅将指向数据存储地址的地址哈希存储在数据共享区块链上,当然也可以将数据哈希存在数据共享区块链上,所述数据哈希用于标记不同的企业信用报告,在用户查询时先获取上述哈希,然后再访问获取相应数据。智能合约是各节点达成并安装的协议,例如协议可以规定哪些数据可以共享,并获得其它节点共识,其中,所述其它节点可以包括各金融机构、监管机构、政府部门、税务机构等等。
优选的,可以根据各金融机构共享的且与信用报告的数据类型,各金融机构可以协商形成可共享的数据结果列表,所述数据结果列表用于记录共享了哪些企业信用报告。其中,所述数据类型可以根据实际情况进行选择,例如贷款记录、税务记录、经营数据等等,本发明实施例中对所述数据类型不做限定。
通过智能合约达成协议将共享企业信用报告存储在数据共享区块链上,通过各节点共识。将共享企业信用报告存储在区块链包括三个阶段:受理阶段、共识阶段和存储阶段。
在受理阶段,待上链企业信用报告被区块链网络中的某一区块链节点接收到,并由该数据共享区块链节点受理该待上链企业信用报告;在共识阶段,所述数据共享区块链节点在受理该待上链企业信用报告之后,需要由数据共享区块链中的其他区块链节点参与对该待上链企业信用报告进行共识处理,待上链企业信用报告通过共识后才进入存储阶段;存储阶段,所述数据共享区块链节点将共识通过的待上链企业信用报告进行上链处理。
优选的,可以在所述数据共享区块链设置一个共识网络,利用共识网络中包含的共识节点对所述数据共享区块链中的区块链节点发起的共识请求进行共识处理,具体的共识处理可以采用投票机制。基于上述构建过程,完成所述数据共享区块链的构建。
图2示出了本发明提供的基于区块链的企业信用报告查询方法示意性流程。如图所示,所述查询方法包括:
步骤100、当接收到用户对数据共享区块链中目标企业信用报告的查询请求时,对用户信息进行认证;
步骤200、在用户信息认证通过的情况下,接收用户终端发送的设备信息,对设备进行认证;
步骤300、在验证通过的情况下,基于智能合约查询节点服务器中的目标企业信用报告。
根据本发明的一种实施方式,所述查询方法的执行流程如图3所示,包括步骤:
步骤102、用户终端利用一设备指纹认证算法对终端设备认证信息进行计算,生成第一哈希值;
示例性的,可以采用JS设备指纹技术获取设备指纹(设备指纹是指可以用于唯一标识出该设备的设备特征或者独特的设备标识),通过在前端页面埋入JavaScript代码,JavaScript代码会采集用户终端设备的各种信息。
步骤104、利用该第一哈希值及待验证用户信息生成第一密钥对,利用第一密钥对的第一私钥对待验证用户信息进行加密生成用户信息密文,并将用户ID、第一哈希值以及上述用户信息密文发送给认证服务器,以及将用户ID以及与该用户ID对应的第一公钥发送给节点服务器;
示例性的,所述用户信息为用户指纹信息,截取所述第一哈希值及用户指纹信息的一部分进行计算,生成第一密钥对。例如,截取所述第一哈希值的部分位,将用户指纹信息转换为二进制数,并截取该二进制数的部分位,对第一哈希值及用户指纹信息的截取位进行计算生成第一私钥,并根据第一私钥生成第一公钥,进而得到所述第一密钥对。
步骤106、节点服务器将与用户ID对应的第一公钥发送给认证服务器,认证服务器利用该第一公钥解密所述用户信息密文,获得解密后的用户信息,当判定解密后的用户信息和记录的用户信息相同时,生成第一验证通过消息,将所述第一验证通过消息发送至所述用户终端及节点服务器;
步骤108、认证服务器根据所述第一哈希值、第一公钥生成第二密钥对,并将第二密钥对的第二公钥发送给节点服务器;
可选地,可以采用如前述生成第一密钥对相似的方法生成该第二密钥对,即,对第一哈希值及第一公钥的部分截取位进行计算生成第二私钥,并根据第二私钥生成第二公钥,进而得到所述第二密钥对。
步骤110、节点服务器利用第二公钥对从本地随机选择的一设备指纹验证算法及设备验证信息进行加密,形成设备指纹验证密文,发送给认证服务器;
步骤112、认证服务器利用第二私钥对设备指纹验证密文进行解密,获取设备指纹验证算法以及设备验证信息,利用该设备指纹验证算法对设备验证信息计算,生成第二哈希值;
步骤114、认证服务器比较所述第一哈希值与第二哈希值的相似度,当相似度高于设定阈值时,生成第二验证通过消息,将所述第二验证通过消息发送至所述用户终端及节点服务器,并将所述设备指纹认证算法更新为所述设备指纹验证算法;
示例性的,可以采用一种SimHash算法计算设备指纹之间的相似度,该算法可以将设备指纹转换成为一个64位的哈希值,而且转换后的哈希值可以反映设备指纹的相似性,通过计算两个哈希值之间的汉明距离就可以判断两个设备指纹的相似程度。
其中,所述设备指纹认证算法、设备指纹验证算法分别为存储在数据共享区块链的多种设备指纹算法中的一种。所述设备认证信息、设备验证信息分别为存储在数据共享区块链的设备信息的子集。
本发明通过上述方式以类似随机的方式选择设备指纹算法及选择设备信息进行设备信息进行计算,能够提高算法被获取的概率,从而提高了信息验证的可靠性。
步骤116、基于智能合约查询所述节点服务器中的所述目标企业信用报告。
在该实施方式一些示例中,所述设备信息包括设备硬件信息及设备使用数据。设备硬件信息例如硬件设备的序列号等。设备使用数据例如浏览器设置、字库等信息。
在该实施方式中,通过计算设备指纹哈希值以及基于该哈希值及用户信息,例如用户指纹信息生成密钥,从而将设备指纹与用户信息融合实现了对用户及设备的认证,简化了认证程序,提高了认证安全性。
同时,可以对设备指纹认证算法及设备指纹验证算法进行选择,并且通过每次认证成功后,将所述设备指纹认证算法更新为所述设备指纹验证算法,利用随机性提高了认证的安全性。
基于上述的企业信用报告查询方法,本发明实施例中提供了一种企业信用报告查询系统,包括用户终端、认证服务器及节点服务器,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器为所述数据共享区块链的节点,所述用户终端与认证服务器数据连接,所述认证服务器与节点服务器数据连接,且所述用户终端与节点服务器数据连接;
所述用户终端用于在接收用户对所述数据共享区块链中目标企业信用报告的查询请求时,利用一设备指纹认证算法对终端设备认证信息进行计算,生成第一哈希值;利用该第一哈希值及待验证用户信息生成第一密钥对,利用第一密钥对的第一私钥对待验证用户信息进行加密生成用户信息密文,并将用户ID、第一哈希值以及上述用户信息密文发送给认证服务器,以及将用户ID以及与该用户ID对应的第一公钥发送给节点服务器;
节点服务器用于将与用户ID对应的第一公钥发送给认证服务器,认证服务器利用该第一公钥解密所述用户信息密文,获得解密后的用户信息,当判定解密后的用户信息和记录的用户信息相同时,生成第一验证通过消息,将所述第一验证通过消息发送至所述用户终端及节点服务器;
认证服务器根据所述第一哈希值、第一公钥生成第二密钥对,并将第二密钥对的第二公钥发送给节点服务器;
节点服务器利用第二公钥对从本地随机选择的一设备指纹验证算法及设备验证信息进行加密,形成设备指纹验证密文,发送给认证服务器;
认证服务器利用第二私钥对设备指纹验证密文进行解密,获取设备指纹验证算法以及设备验证信息,利用该设备指纹验证算法对设备验证信息计算,生成第二哈希值;
认证服务器比较所述第一哈希值与第二哈希值的相似度,当相似度高于设定阈值时,生成第二验证通过消息,将所述第二验证通过消息发送至所述用户终端及节点服务器,并将所述设备指纹认证算法更新为所述设备指纹验证算法;
最后,节点服务器基于智能合约查询并向用户提供所述目标企业信用报告。
所述查询系统的具体执行流程与所述查询方法相同,在此不再赘述。
根据本发明的另一种实施方式,所述查询方法的执行流程如图4所示,包括步骤:
步骤202、当接收到用户对所述数据共享区块链中目标企业信用报告的查询请求时,对所述用户的登录信息进行认证;
本发明实施例中,当接收到用户通过用户终端10发送对所述数据共享区块链中目标企业信用报告的查询请求时,首先基于所述认证服务器21获取所述用户的登录信息,其中,所述登录信息可以为登录的用户名、密码或者用户人为设定的图案、还可以是指纹、人脸、虹膜、声纹等生物特征信息,请所述用户可以是金融机构也可以其他任何获得授权的节点。本发明实施例中对所述登录信息的具体存在形式不进行限定。
优选的,在获取所述登录信息的同时,记录登录时间和所述用户设备当前的验证次数。
将所述登录信息与所述认证服务器21中已经预先存储的用户信息进行比对,若一致,则用户信息认证通过,所述认证服务器21向所述用户终端10及节点服务器20发送所述登录信息认证通过的消息,并接收节点服务器20发送的设备认证码计算方法。其中,所述设备认证码计算方法用于对所述用户终端10进行认证,所述设备认证码计算方法可以基于经验或者具体情况进行设定,本发明实施例中,以利用正切函数f(x)计算所述设备认证码为例进行说明,其表达式为:
f 认证(x)=arctan(x)+T 11+T 21 (1)
其中,x为用户信息,例如用户信息的数值化值,
f 认证(
x)
为认证码,T
11表示登录时间,例如200209221512,即登录时间为2020年2月9日22点15分12秒,T
21为用户终端10存储的该设备的当前认证次数。
可选的,还可以进一步计算f(x)的哈希值,并将该哈希值作为认证码,从而方便认证码进行安全传输。
此外,将所述登录信息与所述认证服务器21中已经预先存储的用户信息进行比对,若不一致,则用户信息认证不通过,将所述登录信息发送给所述节点服务器20,所述节点服务器20对所述登录进行认证,认证过程可以采用与所述认证服务器21相同的认证方法,也可以采用其它的认证方法,本发明实施例中,对认证方法不进行限定。若认证通过,则所述节点服务器20向所述认证服务器21发送用户信息认证通过的消息以及所述设备认证计算方法,所述认证服务器21在接收到用户信息认证通过的消息以及所述设备认证计算方法后,将其发送给所述用户终端10。
步骤204、在所述登录信息认证通过的情况下,接收所述用户终端发送的设备认证凭证,对所述设备认证凭证进行验证;
本发明实施例中,若所述登录信息认证通过可以为所述认证服务器21对所述登录信息认证通过,也可以为所述节点服务器20对所述登录信息认证通过,只要认证通过,对应的服务器就会将认证通过的消息和设备认证计算方法发送给所述用户终端10,所述用户终端10接收到认证通过的消息和设备认证计算方法后,根据登录时间、登录次数、用户信息(登录信息)、设备标识(设备ID)和认证码生成所述设备认证凭证,其中,所述认证码基于公式(1)所述设备认证计算方法得到,所述用户终端10将所述设备认证凭证发送给所述认证服务器21,所述认证服务器21接收所述设备认证凭证,对所述设备认证凭证进行验证,验证过程如下:
认证服务器21从所述设备认证凭证中提取设备ID、用户信息(用户ID)、认证码,以及从本地存储中提取该登录时间以及与该设备ID对应的当前认证次数,并采用与设备认证码计算方法对应的方法计算设备校验码:
f 校验(x)=arctan(x)+T 12+T 22 (2)
其中,x为用户信息,例如用户信息的数值化值,f 校验(x)为检验码,T12表示认证服务器21记录的用户登录时间,T22为认证服务器21存储的该设备的当前认证次数。
如果所述校验码与认证码一致或误差在预定范围内,则认证成功,否则向用户终端发送设备认证失败的消息。优选的,为避免出现认证误差,在用户登录前,可以对所述用户终端10与所述认证服务器21进行时间同步,本发明实施例中对具体的时间同步方法不进行限定。
步骤206、在验证通过的情况下,基于智能合约查询所述节点服务器中的所述目标企业信用报告。
本发明实施例中,在验证通过的情况下,获取所述目标企业报告的数据类型,依据所述数据类型在所述数据列表选择中选择对应的类目,在所述节点服务器20中调用智能合约进行寻址,查询所述目标企业报告在不同金融机构的原始数据的位置,寻址调取所述目标企业信用报告,其中,所述智能合约规定了数据与地址的对应关系,调用智能合约利用地址哈希查询对应的数据。
本发明公开了一种基于区块链的企业信用报告查询方法,应用于用户终端、认证服务器和节点服务器,所述查询方法包括:当接收到用户对数据共享区块链中目标企业信用报告的查询请求时,对用户的登录信息进行认证;在登录信息认证通过的情况下,接收用户终端发送的设备认证凭证,对设备认证凭证进行验证;在验证通过的情况下,基于智能合约查询节点服务器中的目标企业信用报告。上述的方法,在查询之前需要对用户进行认证,在用户认证通过时,对用户终端进行验证,验证通过的情况下才可以查询目标企业信用报告,避免了非法用户或用户采用非法设备盗取文件数据导致数据泄露,为企业带来损失的问题。
本发明实施例中,还以增加对验证服务器21的认证步骤,例如,验证服务器21根据通过用户信息认证的用户ID以及利用节点服务器20的私钥对该用户ID计算获得的数字签名生成认证凭证,并将该认证凭证发送给节点服务器20进行验证,优选的,可以采用前述认证凭证的验证方法进行验证,也可以采用其他方法,例如通过服务器中存储的信息进行数据匹配。本发明实施例中,对具体的验证方法不进行验证。
本发明实施例中,所述查询方法中,设置与节点服务器20连接的链外服务器作为认证服务器21进行用户身份认证,减少了节点服务器的工作负荷,提高了认证计算速度,改善了用户认证过程的体验。通过对用户及设备分别进行验证,避免非法用户或非法设备获取信用信息。进一步的,利用用户信息、登录时间、认证次数同时进行验证,提高了准确性。
基于上述的企业信用报告查询方法,本发明实施例中,还提供了一种企业信用报告查询装置,所述查询装置应用于用户终端、认证服务器和节点服务器,其中,预先建立数据共享区块链,所述数据共享区块链存储有各个企业的企业信用报告,所述节点服务器存在于所述数据共享区块链,所述查询装置的结构框图如图5所示,包括:
认证模块301、验证模块302和查询模块303。
其中,
所述认证模块301,用于当接收到用户对所述数据共享区块链中目标企业信用报告的查询请求时,对所述用户的登录信息进行认证;
所述验证模块302,用于在所述登录信息认证通过的情况下,接收所述用户终端发送的设备认证凭证,对所述设备认证凭证进行验证;
所述查询模块303,用于在验证通过的情况下,基于智能合约查询所述节点服务器中的所述目标企业信用报告。
本发明公开了一种基于区块链的企业信用报告查询装置,应用于用户终端、认证服务器和节点服务器,所述查询方法包括:当接收到用户对数据共享区块链中目标企业信用报告的查询请求时,对用户的登录信息进行认证;在登录信息认证通过的情况下,接收用户终端发送的设备认证凭证,对设备认证凭证进行验证;在验证通过的情况下,基于智能合约查询节点服务器中的目标企业信用报告。上述的装置,在查询之前需要对用户进行认证,在用户认证通过时,对用户终端进行验证,验证通过的情况下才可以查询目标企业信用报告,避免了非法用户或用户采用非法设备盗取文件数据导致数据泄露,为企业带来损失的问题。
本发明实施例中,所述认证模块201包括:
第一获取单元、第一认证单元和第二认证单元。其中,
所述第一获取单元,用于获取所述用户的登录信息;
所述第一认证单元,用于对所述登录信息进行认证;
所述第二认证单元,用于若认证不通过,将所述认证信息发送给节点服务器进行认证。
本发明实施例中,所述验证模块包括:
发送单元、接收和获取单元、计算单元和比较单元。其中,
发送单元,用于发送设备认证计算算法到所述认证服务器,以令所述认证服务器基于所述设备认证计算算法生成设备认证码;以及将与设备认证计算算法对应的验证码通过认证服务器的公钥加密,并发送到认证服务器;
接收和获取单元,用于接收所述用户终端发送的设备认证凭证,获取所述设备认证凭证中的设备标识、用户信息、登录时间、认证次数和认证码;以及用于接收所述设备认证计算算法以及与设备认证计算算法对应的验证码;
计算单元,用于基于所述用户信息、历史登录时间及历史认证次数采用所述设备认证计算算法计算认证码;其中,该计算单元基于所述用户信息的反三角函数值与认证服务器记录的用户登录时间、该设备的当前认证次数的叠加信息计算该设备的认证码;
比较单元,用于比较所述验证码和所述认证码。
本发明实施例中,对所述用户的登录信息进行认证之前还包括:同步模块。所述同步模块,用于对所述认证服务器和所述用户终端的时间进行同步。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种基于区块链的企业信用报告查询方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。