基于区块链的数据安全认证方法及装置与流程

文档序号:25655475发布日期:2021-06-29 21:50阅读:204来源:国知局
基于区块链的数据安全认证方法及装置与流程

1.本发明涉及区块链及数据安全技术领域,尤其涉及一种基于区块链的数据安全认证方法及装置。


背景技术:

2.目前的大数据中心主要建立在hadoop生态体系基础上,大数据平台的暴露使得蕴含着海量数据和潜在价值的大数据更容易吸引黑客的攻击,更容易产生身份验证、授权过程和输入验证等大量的安全问题。大数据本身的安全防护存在漏洞,虽然云计算对大数据提供了便利,但对大数据的安全控制力度仍然不够。因此,有必要构建去中心化的数据交易结构,增强整个交易体系的健壮性,实现去中心化交易。从而实现降低数据交易成本和复杂性、促进数据更广泛的流通、实现一个节点请求、多个节点兑付的目的。
3.现有技术中通过统一、集中管理不同应用体系身份存贮方式、统一认证的方式,使同一用户在所有应用系统中的身份一致,每个应用程序不必关心身份的认证过程。从网络结构上看,统一身份认证过程采取的是星型网络结构、集中认证模式,简化了每个应用的认证过程。但是,这种统一身份认证的方式存在一定的缺陷,比如:大数据分布式存储于计算的节点众多,如果某一节点被攻破,那么必将导致本节点的数据以及其他节点的数据泄露出去。


技术实现要素:

4.本发明实施例提供一种基于区块链的数据安全认证方法及装置,以解决现有数据认证方式无法确保数据的安全性及容易导致数据丢失的问题。
5.为解决上述技术问题,本发明实施例是这样实现的:
6.第一方面,本发明实施例提供了一种基于区块链的数据安全认证方法,该方法应用于区块链中的第一节点,包括:生成对所述第一节点中存储的第一验证信息进行认证的信息认证请求,所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识。根据所述第一节点中存储的各第二节点对应的节点数据,从所述第二节点中选择对所述第一验证信息进行认证的目标节点,所述节点数据包含所述第二节点对应的第二验证信息、由所述第二节点生成的公钥及数据存储时间。利用所述公钥对所述信息认证请求进行加密,得到加密后的信息认证请求。广播加密后的所述信息认证请求,以使所述目标节点在接收到所述信息认证请求后,利用预先存储的与所述公钥对应的私钥解密所述信息认证请求,并对解密得到的所述第一验证信息进行认证。根据所述目标节点返回的对所述第一验证信息的认证结果,确定所述第一验证信息是否通过认证。
7.第二方面,本发明实施例还提供了一种基于区块链的数据安全认证方法,应用于区块链中的第二节点,所述方法包括:接收第一节点广播的加密后的信息认证请求,所述信息认证请求用于请求对所述第一节点中存储的第一验证信息进行认证,所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识,所述信息认证请求由所述第一节点
利用所述第二节点对应的公钥加密得到。利用预先存储的私钥对所述信息认证请求进行解密。若解密成功,则对解密后得到的所述第一验证信息进行认证,得到认证结果,及,将所述认证结果返回至所述第一节点。
8.第三方面,本发明实施例还提供了一种基于区块链的数据安全认证装置,该装置应用于区块链中的第一节点,所述装置包括:第一生成模块,用于生成对所述第一节点中存储的第一验证信息进行认证的信息认证请求,所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识。选择模块,用于根据所述第一节点中存储的各第二节点对应的节点数据,从所述第二节点中选择对所述第一验证信息进行认证的目标节点,所述节点数据包含所述第二节点对应的第二验证信息、由所述第二节点生成的公钥及数据存储时间。加密模块,用于利用所述公钥对所述信息认证请求进行加密,得到加密后的信息认证请求。第一广播模块,用于广播加密后的所述信息认证请求,以使所述目标节点在接收到所述信息认证请求后,利用预先存储的与所述公钥对应的私钥解密所述信息认证请求,并对解密得到的所述第一验证信息进行认证。确定模块,用于根据所述目标节点返回的对所述第一验证信息的认证结果,确定所述第一验证信息是否通过认证。
9.第四方面,本发明实施例还提供了一种基于区块链的数据安全认证装置,该装置应用于区块链中的第二节点,所述装置包括:第一接收模块,用于接收第一节点广播的加密后的信息认证请求,所述信息认证请求用于请求对所述第一节点中存储的第一验证信息进行认证,所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识,所述信息认证请求由所述第一节点利用所述第二节点对应的公钥加密得到。解密模块,用于利用预先存储的私钥对所述信息认证请求进行解密。认证模块,用于若解密成功,则对解密后得到的所述第一验证信息进行认证,得到认证结果,及,将所述认证结果返回至所述第一节点。
10.第五方面,本发明实施例还提供了一种基于区块链的数据安全认证设备,包括:存储器,存储有计算机程序指令;处理器,当所述计算机程序指令被所述处理器执行时实现如上述第一方面或第二方面所述的基于区块链的数据安全认证方法。
11.第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面所述的基于区块链的数据安全认证方法。
12.在本发明实施例中,区块链中的第一节点生成对其存储的第一验证信息进行认证的信息认证请求后,通过从区块链中的第二节点中选择对第一验证信息进行认证的目标节点,并利用目标节点对应的公钥对信息认证请求进行加密,然后广播加密后的信息认证请求,使得目标节点接收到信息认证请求后,能够利用与公钥对应的私钥解密信息认证请求,进而对解密得到的第一验证信息进行认证。因此,该技术方案使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
附图说明
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1是本发明的一个实施例中一种基于区块链的数据安全认证方法的方法流程图。
15.图2是本发明的另一个实施例中一种基于区块链的数据安全认证方法的交互流程图。
16.图3是本发明的再一个实施例中一种基于区块链的数据安全认证方法的交互流程图。
17.图4是本发明的一个实施例中一种区块链的结构示意图。
18.图5是本发明的一个实施例中一种基于区块链的数据安全认证装置的结构示意图。
19.图6是本发明的另一个实施例中一种基于区块链的数据安全认证装置的结构示意图。
20.图7是本发明的一个实施例中一种基于区块链的数据安全认证设备的结构示意图。
21.图8是本发明的另一个实施例中一种基于区块链的数据安全认证设备的结构示意图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.本发明实施例提供的一种基于区块链的数据安全认证方法,可应用于各类架设于区块链上的物联网中,物联网中的各设备分别对应区块链中的一个节点。例如,物联网包括多个监控设备,则各监控设备分别对应区块链中的一个节点。假设其中一个监控设备(以下称之为第一监控设备)为第一节点,其他监控设备为第二节点,则第一监控设备中可存储其他监控设备对应的设备数据(包括其他监控设备中存储的验证信息、由其他监控设备生成的公钥等)。并在第一监控设备需要其他监控设备对其内存储的验证信息进行安全认证时,利用存储的其他监控设备对应的公钥加密其所生成的信息认证请求,并将加密后的信息认证请求在区块链中广播。其他监控设备接收到加密后的信息认证请求后,利用本地存储的私钥对信息认证请求进行解密,即可得到待认证的验证信息,并对验证信息进行安全认证,以及将认证结果返回给第一监控设备,从而完成整个物联网中的各监控设备的数据安全认证过程。
24.图1是本发明的一个实施例中一种基于区块链的数据安全认证方法的示意性流程图。图1的方法应用于区块链中的第一节点,包括:
25.s102,生成对第一节点中存储的第一验证信息进行认证的信息认证请求;信息认证请求中包含第一验证信息及第一节点的节点标识。
26.其中,第一验证信息可包括第一节点中存储的用户的身份标识信息、用户登录密码、节点权限等的验证信息,验证信息可以是哈希值。
27.s104,根据第一节点中存储的各第二节点对应的节点数据,从第二节点中选择对第一验证信息进行认证的目标节点。
28.其中,节点数据包含第二节点对应的第二验证信息、由第二节点生成的公钥及数据存储时间。第二验证信息可包括第二节点中存储的用户的身份标识信息、用户登录密码、节点权限等的验证信息,验证信息可以是哈希值。
29.s106,利用目标节点对应的公钥对信息认证请求进行加密,得到加密后的信息认证请求。
30.其中,目标节点对应的公钥由目标节点预先生成,并通过广播的方式使第一节点存储目标节点对应的公钥。
31.s108,广播加密后的信息认证请求,以使目标节点在接收到信息认证请求后,利用预先存储的与公钥对应的私钥解密信息认证请求,并对解密得到的第一验证信息进行认证。
32.s110,根据目标节点返回的对第一验证信息的认证结果,确定第一验证信息是否通过认证。
33.本实施例中,第一节点可选择多个第二节点作为对第一验证信息进行认证的目标节点。基于此,若各目标节点返回的认证结果均为认证通过,则确定第一验证信息通过认证。
34.在本发明实施例中,区块链中的第一节点生成对其存储的第一验证信息进行认证的信息认证请求后,通过从区块链中的第二节点中选择对第一验证信息进行认证的目标节点,并利用目标节点对应的公钥对信息认证请求进行加密,然后广播加密后的信息认证请求,使得目标节点接收到信息认证请求后,能够利用与公钥对应的私钥解密信息认证请求,进而对解密得到的第一验证信息进行认证。因此,该技术方案使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
35.在一个实施例中,在第一节点生成对第一节点中存储的第一验证信息进行认证的信息认证请求之前,可接收第二节点广播的数据存储请求,并基于该数据存储请求,关联存储第二节点对应的节点数据。其中,数据存储请求中包含第二节点对应的第二验证信息及公钥,该公钥由第二节点预先生成,并在第二节点中存储对应的私钥。
36.当接收到第二节点广播的数据更新请求时,第一节点还可基于该数据更新请求更新第二节点对应的节点数据。其中,数据更新请求中包含待更新的第二验证信息。
37.在一个实施例中,第一节点生成的信息认证请求还包括请求生成时间,基于此,第一节点可按照以下步骤从第二节点中选择对第一验证信息进行认证的目标节点:
38.步骤一、确定目标节点的第一数目,该第一数目小于或等于第二节点的第二数目,
第二数目即为第一节点中存储的节点数据对应的所有第二节点的总数目。
39.假设第一数目为n,第二节点的总数目为q,则n≤q。
40.在确定第一数目n时,可首先给定一个素数p。若p≤q,则确定第一数目n=p;若p>q,则确定第一数目n=p/(p-q)。若p/(p-q)不为整数,则n为p/(p-q)的上取整或下去整。
41.步骤二、确定各第二节点对应的稳定值,该稳定值与第二节点的节点数据更新频率相关。
42.第二节点对应的稳定值计算方法如下:首先,计算第二节点对应的数据存储时间距离请求生成时间的时长,并计算第二节点对应的节点数据的更新次数;其次,计算时长与更新次数之间的比值,作为第二节点对应的稳定值。
43.步骤三、根据各第二节点对应的稳定值,从第二节点中选择第一数目个符合预设稳定条件的节点作为目标节点。
44.其中,预设稳定条件包括:稳定值大于或等于预设阈值;和/或,稳定值位于按照从大到小的顺序排序后的所有稳定值的前n位;n等于第一数目。
45.本实施例中,稳定值与第二节点的节点数据更新频率相关,通过稳定值的计算方法可知,稳定值越大的第二节点被选为目标节点的概率越大,原因在于,节点的稳定值越小,说明该节点中对应的节点数据的更新频率越大,即说明该节点比较活跃,被修改、攻击的可能性也就越大。因此,通过选择稳定值较大的第二节点作为对第一验证信息进行认证的目标节点,能够确保验证信息的安全性及认证结果的准确性。
46.图2是本发明的另一个实施例中一种基于区块链的数据安全认证方法的示意性流程图。图2的方法应用于区块链中的第二节点,包括:
47.s202,接收第一节点广播的加密后的信息认证请求。
48.其中,信息认证请求用于请求对第一节点中存储的第一验证信息进行认证。信息认证请求中包含第一验证信息及第一节点的节点标识。信息认证请求由第一节点利用公钥加密得到。
49.s204,利用预先存储的私钥对信息认证请求进行解密。
50.s206,若解密成功,则对解密后得到的第一验证信息进行认证,得到认证结果;及,将认证结果返回至第一节点。
51.在一个实施例中,若第二节点对信息认证请求解密失败,则不执行认证操作。
52.在一个实施例中,在接收第一节点广播的加密后的信息认证请求之前,第二节点可预先生成第二节点对应的密钥对,以及生成数据存储请求。并广播数据存储请求,以使区块链中的其他节点关联存储第二节点对应的节点数据。
53.其中,密钥对包括相互匹配的公钥和私钥。第二节点生成密钥对之后,在本地存储密钥对中的私钥。数据存储请求中包含第二节点对应的第二验证信息及密钥对中的公钥。节点数据包含第二节点对应的第二验证信息、公钥及数据存储时间。
54.在一个实施例中,若第二节点对应的第二验证信息被更新,则广播更新后的第二验证信息,以使其他节点基于更新后的第二验证信息更新节点数据。
55.在本发明实施例中,区块链中的第二节点通过广播数据存储请求(包括第二节点对应的第二验证信息及第二节点生成的公钥),使得区块链中的其他节点都能够存储第二节点对应的节点数据。这样,其他节点即可利用存储的第二节点对应的节点数据中的公钥
加密信息认证请求,并在区块链中广播信息认证请求,使第二节点能够利用预先存储的私钥对信息认证请求进行解密,并在解密成功时认证解密后得到的第一验证信息。可见,该技术方案使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
56.以下通过一具体实施例来说明本说明书提供的一种基于区块链的数据安全认证方法。
57.图3是本发明的一个具体实施例中一种基于区块链的数据安全认证方法的示意性流程图。图3的方法应用于如图4所示的区块链中的第一节点和多个第二节点(图4仅示意性地示出一个第二节点)。其中,第一节点用于存储各第二节点对应的节点数据,并基于至少一个第二节点对应的公钥加密信息认证请求并广播。第二节点用于向第一节点广播其内存储的验证信息,以及对第一节点广播的信息认证请求进行解密。如图3所示,该方法包括以下步骤:
58.s301,第二节点生成密钥对,在本地存储密钥对中的私钥,并生成数据存储请求。
59.其中,密钥对包括相互匹配的公钥和私钥。数据存储请求中包含第二节点对应的第二验证信息及密钥对中的公钥。第二验证信息可包括第二节点中存储的用户的身份标识信息、用户登录密码、节点权限等的验证信息,验证信息可以是哈希值。
60.s302,第二节点广播数据存储请求。
61.s303,第一节点基于接收到的数据存储请求,关联存储各第二节点分别对应的节点数据。
62.其中,节点数据包含第二节点对应的第二验证信息、由第二节点生成的公钥及数据存储时间。数据存储时间指第一节点存储节点数据的存储时间。第二验证信息可包括第二节点中存储的用户的身份标识信息、用户登录密码、节点权限等的验证信息,验证信息可以是哈希值。
63.s304,第一节点生成用于请求对第一节点中存储的第一验证信息进行认证的信息认证请求。
64.其中,信息认证请求中包含第一验证信息及第一节点的节点标识。第一验证信息可包括第一节点中存储的用户的身份标识信息、用户登录密码、节点权限等的验证信息,验证信息可以是哈希值。
65.s305,第一节点从各第二节点中选择至少一个第二节点作为目标节点,并利用目标节点对应的公钥加密信息认证请求。
66.其中,目标节点的选择方法已在上述实施例中详述,此处不再赘述。
67.s306,第一节点广播加密后的信息认证请求。
68.s307,各第二节点接收加密后的信息认证请求,并利用本地存储的私钥对信息认证请求解密。若解密成功,则执行s308;若解密失败,则不执行任何操作。
69.该步骤中,若第二节点利用本地存储的私钥对信息认证请求解密成功,则说明该第二节点属于第一节点选中的目标节点;反之,若第二节点利用本地存储的私钥对信息认证请求解密失败,则说明该第二节点不属于第一节点选中的目标节点。
70.s308,第二节点对解密后得到的第一验证信息进行认证,并将认证结果返回至第一节点。
71.s309,第一节点根据各第二节点返回的认证结果,确定第一验证信息是否认证通过。
72.本实施例中,若第一节点选择了多个目标节点,则第一节点可先利用其中一个目标节点对应的公钥加密信息认证请求,并广播加密后的信息认证请求;然后再利用另一个目标目标节点对应的公钥加密信息认证请求,并广播加密后的信息认证请求。
73.假设第一节点选择了目标节点a和目标节点b,那么在生成信息认证请求后,可先利用目标节点a对应的公钥a1加密信息认证请求,并广播加密后的信息认证请求,这样,目标节点a接收到信息认证请求后,即可利用目标节点a中存储的私钥a2(与公钥a1配对)对信息认证请求进行解密。然后,第一节点再利用目标节点b对应的公钥b1加密信息认证请求,并广播加密后的信息认证请求,这样,目标节点b接收到信息认证请求后,即可利用目标节点b中存储的私钥b2(与公钥b1配对)对信息认证请求进行解密。从而使目标节点a和目标节点b均可对第一节点对应的第一验证信息进行认证。
74.本实施例中,区块链中的第二节点通过广播数据存储请求(包括第二节点对应的第二验证信息及第二节点生成的公钥),使得区块链中的第一节点能够存储第二节点对应的节点数据。这样,第一节点即可利用存储的第二节点对应的节点数据中的公钥加密信息认证请求,并在区块链中广播信息认证请求,使第二节点能够利用预先存储的私钥对信息认证请求进行解密,并在解密成功时认证解密后得到的第一验证信息。可见,该技术方案使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
75.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
76.图5是本发明的一个实施例中一种基于区块链的数据安全认证装置的结构示意图。请参考图5,基于区块链的数据安全认证装置可包括:
77.第一生成模块510,用于生成对所述第一节点中存储的第一验证信息进行认证的信息认证请求;所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识;
78.选择模块520,用于根据所述第一节点中存储的各第二节点对应的节点数据,从所述第二节点中选择对所述第一验证信息进行认证的目标节点;所述节点数据包含所述第二节点对应的第二验证信息、由所述第二节点生成的公钥及数据存储时间;
79.加密模块530,用于利用所述公钥对所述信息认证请求进行加密,得到加密后的信息认证请求;
80.第一广播模块540,用于广播加密后的所述信息认证请求,以使所述目标节点在接收到所述信息认证请求后,利用预先存储的与所述公钥对应的私钥解密所述信息认证请
求,并对解密得到的所述第一验证信息进行认证;
81.确定模块550,用于根据所述目标节点返回的对所述第一验证信息的认证结果,确定所述第一验证信息是否通过认证。
82.在一个实施例中,基于区块链的数据安全认证装置还包括:
83.第二接收模块,用于在所述生成对所述第一节点中存储的第一验证信息进行认证的信息认证请求之前,接收所述第二节点广播的数据存储请求;所述数据存储请求中包含所述第二节点对应的所述第二验证信息及所述公钥;
84.存储模块,用于基于所述数据存储请求,关联存储所述第二节点对应的所述节点数据;
85.更新模块,用于当接收到所述第二节点广播的数据更新请求时,基于所述数据更新请求更新所述第二节点对应的所述节点数据;所述数据更新请求中包含待更新的所述第二验证信息。
86.在一个实施例中,选择模块520包括:
87.第一确定单元,用于确定所述目标节点的第一数目;所述第一数目小于或等于所述第二节点的第二数目;
88.第二确定单元,用于确定各所述第二节点对应的稳定值;所述稳定值与所述第二节点的节点数据更新频率相关;
89.选择单元,用于根据各所述第二节点对应的稳定值,从所述第二节点中选择所述第一数目个符合预设稳定条件的节点作为所述目标节点;
90.其中,所述预设稳定条件包括:所述稳定值大于或等于预设阈值;和/或,所述稳定值位于按照从大到小的顺序排序后的所有稳定值的前n位;所述n等于所述第一数目。
91.在一个实施例中,所述信息认证请求还包括请求生成时间;
92.所述第二确定单元还用于:
93.计算所述第二节点对应的所述数据存储时间距离所述请求生成时间的时长;及,计算所述第二节点对应的所述节点数据的更新次数;
94.计算所述时长与所述更新次数之间的比值,作为所述第二节点对应的稳定值。
95.本发明实施例提供的基于区块链的数据安全认证装置能够实现上述方法实施例中第一节点实现的各个过程,为避免重复,这里不再赘述。
96.在本发明实施例中,区块链中的第一节点生成对其存储的第一验证信息进行认证的信息认证请求后,通过从区块链中的第二节点中选择对第一验证信息进行认证的目标节点,并利用目标节点对应的公钥对信息认证请求进行加密,然后广播加密后的信息认证请求,使得目标节点接收到信息认证请求后,能够利用与公钥对应的私钥解密信息认证请求,进而对解密得到的第一验证信息进行认证。因此,该装置使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
97.图6是本发明的另一个实施例中一种基于区块链的数据安全认证装置的结构示意图。请参考图6,基于区块链的数据安全认证装置可包括:
98.第一接收模块610,用于接收第一节点广播的加密后的信息认证请求;所述信息认证请求用于请求对所述第一节点中存储的第一验证信息进行认证;所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识;所述信息认证请求由所述第一节点利用所述第二节点对应的公钥加密得到;
99.解密模块620,用于利用预先存储的私钥对所述信息认证请求进行解密;
100.认证模块630,用于若解密成功,则对解密后得到的所述第一验证信息进行认证,得到认证结果;及,将所述认证结果返回至所述第一节点。
101.在一个实施例中,基于区块链的数据安全认证装置还包括:
102.第二生成模块,用于所述接收第一节点广播的加密后的信息认证请求之前,生成所述第二节点对应的密钥对;
103.第三生成模块,用于生成数据存储请求;所述数据存储请求中包含所述第二节点对应的第二验证信息及所述密钥对中的公钥;
104.第二广播模块,用于广播所述数据存储请求,以使所述区块链中的其他节点关联存储所述第二节点对应的节点数据;所述节点数据包含所述第二验证信息、所述公钥及数据存储时间。
105.在一个实施例中,基于区块链的数据安全认证装置还包括:
106.第三广播模块,用于若所述第二验证信息被更新,则广播更新后的所述第二验证信息,以使所述其他节点基于更新后的所述第二验证信息更新所述节点数据。
107.本发明实施例提供的基于区块链的数据安全认证装置能够实现上述方法实施例中第二节点实现的各个过程,为避免重复,这里不再赘述。
108.在本发明实施例中,区块链中的第二节点通过广播数据存储请求(包括第二节点对应的第二验证信息及第二节点生成的公钥),使得区块链中的其他节点都能够存储第二节点对应的节点数据。这样,其他节点即可利用存储的第二节点对应的节点数据中的公钥加密信息认证请求,并在区块链中广播信息认证请求,使第二节点能够利用预先存储的私钥对信息认证请求进行解密,并在解密成功时认证解密后得到的第一验证信息。可见,该装置使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
109.请参阅图7,图7是本发明实施例应用的基于区块链的数据安全认证设备的结构图,能够实现上述实施例中由区块链中的第一节点执行的基于区块链的数据安全认证方法的细节,并达到相同的效果。如图7所示,基于区块链的数据安全认证设备700包括:处理器701、收发机702、存储器703、用户接口704和总线接口,其中:
110.在本发明实施例中,基于区块链的数据安全认证设备700还包括:存储在存储器上703并可在处理器701上运行的计算机程序,计算机程序被处理器701执行时实现如下步骤:
111.生成对所述第一节点中存储的第一验证信息进行认证的信息认证请求;所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识;
112.根据所述第一节点中存储的各第二节点对应的节点数据,从所述第二节点中选择对所述第一验证信息进行认证的目标节点;所述节点数据包含所述第二节点对应的第二验
证信息、由所述第二节点生成的公钥及数据存储时间;
113.利用所述公钥对所述信息认证请求进行加密,得到加密后的信息认证请求;
114.广播加密后的所述信息认证请求,以使所述目标节点在接收到所述信息认证请求后,利用预先存储的与所述公钥对应的私钥解密所述信息认证请求,并对解密得到的所述第一验证信息进行认证;
115.根据所述目标节点返回的对所述第一验证信息的认证结果,确定所述第一验证信息是否通过认证。
116.在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口704还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
117.处理器701负责管理总线架构和通常的处理,存储器703可以存储处理器701在执行操作时所使用的数据。
118.可选的,计算机程序被处理器701执行时还可实现如下步骤:
119.接收所述第二节点广播的数据存储请求;所述数据存储请求中包含所述第二节点对应的所述第二验证信息及所述公钥;
120.基于所述数据存储请求,关联存储所述第二节点对应的所述节点数据;
121.当接收到所述第二节点广播的数据更新请求时,基于所述数据更新请求更新所述第二节点对应的所述节点数据;所述数据更新请求中包含待更新的所述第二验证信息。
122.可选的,计算机程序被处理器701执行时还可实现如下步骤:
123.确定所述目标节点的第一数目;所述第一数目小于或等于所述第二节点的第二数目;
124.确定各所述第二节点对应的稳定值;所述稳定值与所述第二节点的节点数据更新频率相关;
125.根据各所述第二节点对应的稳定值,从所述第二节点中选择所述第一数目个符合预设稳定条件的节点作为所述目标节点;
126.其中,所述预设稳定条件包括:所述稳定值大于或等于预设阈值;和/或,所述稳定值位于按照从大到小的顺序排序后的所有稳定值的前n位;所述n等于所述第一数目。
127.可选的,所述信息认证请求还包括请求生成时间;计算机程序被处理器701执行时还可实现如下步骤:
128.计算所述第二节点对应的所述数据存储时间距离所述请求生成时间的时长;及,计算所述第二节点对应的所述节点数据的更新次数;
129.计算所述时长与所述更新次数之间的比值,作为所述第二节点对应的稳定值。
130.上述实施例中,该基于区块链的数据安全认证使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节
点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
131.请参阅图8,图8是本发明实施例应用的基于区块链的数据安全认证设备的结构图,能够实现上述实施例中由区块链中的第二节点执行的基于区块链的数据安全认证方法的细节,并达到相同的效果。如图8所示,基于区块链的数据安全认证设备800包括:处理器801、收发机802、存储器803、用户接口804和总线接口,其中:
132.在本发明实施例中,基于区块链的数据安全认证设备800还包括:存储在存储器上803并可在处理器801上运行的计算机程序,计算机程序被处理器801执行时实现如下步骤:
133.接收第一节点广播的加密后的信息认证请求;所述信息认证请求用于请求对所述第一节点中存储的第一验证信息进行认证;所述信息认证请求中包含所述第一验证信息及所述第一节点的节点标识;所述信息认证请求由所述第一节点利用所述第二节点对应的公钥加密得到;
134.利用预先存储的私钥对所述信息认证请求进行解密;
135.若解密成功,则对解密后得到的所述第一验证信息进行认证,得到认证结果;及,将所述认证结果返回至所述第一节点。
136.在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器803代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机802可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口804还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
137.处理器801负责管理总线架构和通常的处理,存储器803可以存储处理器801在执行操作时所使用的数据。
138.可选的,计算机程序被处理器801执行时还可实现如下步骤:
139.生成所述第二节点对应的密钥对;
140.生成数据存储请求;所述数据存储请求中包含所述第二节点对应的第二验证信息及所述密钥对中的公钥;
141.广播所述数据存储请求,以使所述区块链中的其他节点关联存储所述第二节点对应的节点数据;所述节点数据包含所述第二验证信息、所述公钥及数据存储时间。
142.可选的,计算机程序被处理器801执行时还可实现如下步骤:
143.若所述第二验证信息被更新,则广播更新后的所述第二验证信息,以使所述其他节点基于更新后的所述第二验证信息更新所述节点数据。
144.上述实施例中,该基于区块链的数据安全认证使得区块链中的每个节点均存储其他节点对应的节点数据,且其他任一(些)节点均可作为对第一验证信息进行认证的目标节点,从而降低数据丢失的可能性,且提升信息安全认证的准确率及效率。此外,由于第一节点广播的信息认证请求被加密,因此确保了信息认证请求中携带的第一验证信息的安全性。
145.优选的,本发明实施例还提供一种基于区块链的数据安全认证设备,包括处理器,
存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述基于区块链的数据安全认证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
146.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于区块链的数据安全认证方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
147.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
148.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
149.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1