一种基于联盟区块链的数据的安全加密方法及装置与流程

文档序号:12037852阅读:247来源:国知局
一种基于联盟区块链的数据的安全加密方法及装置与流程

本发明涉及数据安全存储领域,特别是涉及一种基于联盟区块链的数据的安全加密方法及装置。



背景技术:

随着网络的发展,由于各种原因导致数据出现丢失、泄露或被篡改等严重问题比比皆是,数据的存储安全也越来越成为人们所关注和重视的焦点,保证数据的存储安全是一切使用数据以处理实际问题的前提条件。

区块链技术作为一种新型的去中心化的分布式安全存储技术,由于其安全可靠的特点,成为当前热门的研究领域。区块链是一个共享的分布式数据库,利用加密链式区块链结构验证并存储数据、利用分布式节点共识算法来生成和更新数据,通过密码学的方式保证数据不可篡改和伪造,并且区块链可集成智能合约实现透明化数据访问控制。而联盟区块链技术作为一种特殊的区块链技术,由于其仅需要部分认证的节点以维护数据库的特点,降低了整个区块链网络的数据存储、运算与传输压力,提高了区块链的灵活性、实用性和拓展性。

但是在现有的联盟区块链技术方案中,仅仅保护了数据在上传过程中不发生泄露,以及保护数据存储在数据存储网络中不丢失不被篡改。然而联盟区块链技术仍存在一些数据安全上的缺陷,比如在数据被访问时,由于数据存储网络中的所有数据采集节点都可以查看属于某个数据采集节点的完整数据,所以一旦出现某个数据存储节点被恶意攻击的情况,就可能会造成数据存储网络中数据的泄露,这给联盟区块链存储的数据带来了一定的安全隐患。

可见,提供一种基于联盟区块链技术的安全存储方法是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种基于联盟区块链的数据的安全加密方法及装置,提高了数据存储的安全性。

为解决上述技术问题,本发明提供一种基于联盟区块链的数据的安全加密方法,包括:

数据采集节点获得假名身份及与假名身份对应的对称密钥;

数据采集节点获得数据后,向数据存储节点发送上传请求;

数据存储节点验证上传请求是否通过,如果是,则接收最终加密数据,并通过数据存储节点的私钥对最终加密数据进行解密以得到假名加密数据;其中,假名加密数据为数据采集节点通过假名身份对应的对称密钥对数据进行加密得到,最终加密数据为数据采集节点通过数据存储节点的公钥对假名加密数据进行加密得到;

数据存储节点验证假名加密数据是否符合要求,如果是,则将假名加密数据同假名身份的对应关系及假名加密数据存储到本地数据库;

数据存储节点将规定时间内所存储的数据压缩生成区块,并加入区块链中。

优选的,上传请求包括:假名身份的数字证书和假名身份的数字证书生成的数字签名;

则对应的,数据存储节点验证上传请求是否通过具体为:

数据存储节点验证上传请求中的假名身份的数字证书和假名身份的数字证书生成的数字签名是否正确,如果是,则确定上传请求通过。

优选的,该方法进一步包括:数据存储节点将假名加密数据同假名身份的对应关系及假名加密数据广播至其它目标数据存储节点。

优选的,该方法进一步包括:目标数据存储节点接收假名加密数据同假名身份的对应关系及假名加密数据,并验证是否符合要求,如果是,则存储到本地数据库。

优选的,该方法进一步包括:数据采集节点设置访问条件以控制其它目标数据采集节点使用目标假名身份访问数据。

优选的,访问条件包括:目标假名身份在数据采集节点设定的假名身份范围内、目标假名身份访问的数据在数据采集节点设定的数据共享范围内且目标假名身份的访问时间满足时效要求。

优选的,当目标数据采集节点使用目标假名身份访问数据时,该方法进一步包括:

数据采集节点判断目标数据采集节点是否满足访问条件,如果是,则数据采集节点将对称密钥、假名身份的数字证书及目标假名身份对应的公钥通过数据存储节点的公钥进行加密,并发送至数据存储节点;

数据存储节点通过自身私钥进行解密并获得对称密钥、假名身份的数字证书及目标假名身份对应的公钥后,通过对称密钥解密假名加密数据以得到数据,通过目标假名身份对应的公钥对数据进行加密,并发送至目标数据采集节点;

其中,数据存储节点通过假名身份的数字证书找到假名加密数据。

此外,为解决上述技术问题,本发明还提供一种基于联盟区块链的数据的安全加密装置,包括:

数据采集节点,用于获取数据,并向对应的数据存储节点发送上传请求及最终加密数据;其中,最终加密数据为通过假名身份对应的对称密钥对数据进行加密以得到假名加密数据,并通过数据存储节点的公钥对假名加密数据进行加密得到;

数据存储节点,用于判断上传请求是否通过,如果是,则接收最终加密数据,并解密以得到假名加密数据,且验证假名加密数据是否符合要求,如果是,则将假名加密数据存储到本地数据库,并将规定时间内所存储的假名加密数据压缩生成区块,加入区块链中。

优选的,数据采集节点还用于设置访问条件以控制其它目标数据采集节点使用目标假名身份访问数据。

本发明所提供的基于联盟区块链技术的安全存储方法,在数据存储到数据存储节点前,数据采集节点通过自身的某个假名对应的对称密钥进行加密,并以该假名身份上传数据。因此,数据存储节点无法得知所上传数据的数据采集节点的真实身份以及数据的真实内容。另外,数据存储节点会定期将自身数据压缩生成区块,并加入区块链中。由于区块链是一个分布式的数据库,所以区块链网络中的其它节点也可以对于该数据进行访问,使对数据的访问变得更加透明。可见,本发明中节点之间数据访问的透明化程度高并且数据采集节点对获得的数据进行了上传身份的匿名化和数据加密的处理。通过匿名化,仅上传数据的数据采集节点知道其上传数据时使用的假名和自身真实身份的映射关联,而除该节点以外的任何节点均无法得知所上传数据的数据采集节点的真实身份,因此即使所存储的数据由于数据被访问的透明化程度高或是其它原因而出现泄露情况也只是泄露加密后的数据,保护了真实数据的安全。

附图说明

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

图1为本发明实施例提供的一种基于联盟区块链的数据的安全加密方法的流程图;

图2为本发明实施例提供的另一种基于联盟区块链的数据的安全加密方法的流程图;

图3为本发明实施例提供的一种基于联盟区块链的数据的安全加密方法对应的数据访问方法的流程图;

图4为本发明实施例提供的一种基于联盟区块链的数据的安全加密装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种基于联盟区块链的数据的安全加密方法及装置。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种基于联盟区块链的数据的安全加密方法的流程图。请参考图1,基于联盟区块链的数据的安全加密方法的具体步骤包括:

步骤s10:数据采集节点获得假名身份及与假名身份对应的对称密钥。

本步骤的目的在于,数据采集节点使用假名身份以隐藏自己的真实节点身份,并且与其它节点通信时均使用假名身份。可以理解的是,由于与该数据采集节点通信的节点无法得知该数据采集节点的真实身份,所以进一步提高了该数据采集节点的隐蔽性和安全性,减少了该数据节点被其它节点恶意攻击而造成数据丢失、泄露及伪造等情况的发生。

另外,数据采集节点可以通过第三方权威机构或得一定数量的假名身份及与假名身份对应的对称密钥,在每次与其它节点通信时使用其中一项假名身份及与该假名身份对应的对称密钥。

步骤s11:数据采集节点获得数据后,向数据存储节点发送上传请求。

在本步骤中,数据采集节点用于获取数据,并需要将数据存储到数据存储节点中,以备用户后续对数据的查看。可以理解的是,数据采集节点需要先向数据存储节点发送上传请求以请求数据存储节点对自身进行验证并同意接收自身获取的数据。

步骤s12:数据存储节点验证上传请求是否通过,如果是,则执行步骤s13。

作为一种优选的实施方式,步骤s11中,上传请求包括:假名身份的数字证书和假名身份的数字证书生成的数字签名。

则对应的,步骤s12中,数据存储节点验证上传请求是否通过具体为:

数据存储节点验证上传请求中的假名身份的数字证书和假名身份的数字证书生成的数字签名是否正确,如果是,则确定上传请求通过。

步骤s13:数据存储节点接收最终加密数据,并通过数据存储节点的私钥对最终加密数据进行解密以得到假名加密数据。

其中,假名加密数据为数据采集节点通过假名身份对应的对称密钥对数据进行加密得到,最终加密数据为数据采集节点通过数据存储节点的公钥对假名加密数据进行加密得到。

在本步骤中,通过假名身份对应的对称密钥对数据进行加密,保证了加密得到的假名加密数据只能与该假名身份的对称密钥对应。由于每一个对称密钥该都有与之对应的假名身份,并且只有数据存储节点拥有假名身份与对称密钥的对应关系,可以理解的是,即使数据发被窃取或泄露也很难被解密,因而进一步提高了数据的安全性。

步骤s14:数据存储节点验证假名加密数据是否符合要求,如果是,则执行步骤s15。

为了防止传输过程中发生异常,例如数据不完整,或者是传输目的地发生错误等,本步骤中需要验证假名加密数据是否符合要求。主要目的是为了保证所有保存在数据存储节点上的假名加密数据都是有正确的且有意义的。

步骤s15:数据存储节点将假名加密数据同假名身份的对应关系及假名加密数据存储到本地数据库。

数据存储节点将符合验证要求的假名加密数据以及假名加密数据与假名身份的对应关系存储在本地数据库,目的是当其它节点以假名身份访问该数据存储节点中的数据时,该数据存储节点可以根据假名身份找到并提供相应的假名加密数据。

步骤s16:数据存储节点将规定时间内所存储的数据压缩生成区块,并加入区块链中。

由于在区块链中的数据在理论上可以被区块链中的任意节点访问,所以数据存储节点将数据压缩生成区块并加入区块链中,使对节点对数据的访问变得更加透明。

本实施例提供的基于联盟区块链的数据的安全加密方法,在数据存储到数据存储节点前,数据采集节点通过自身的某个假名对应的对称密钥进行加密,并以该假名身份上传数据。因此,数据存储节点无法得知所上传数据的数据采集节点的真实身份以及数据的真实内容。另外,数据存储节点会定期将自身数据压缩生成区块,并加入区块链中。由于区块链是一个分布式的数据库,所以区块链网络中的其它节点也可以对于该数据进行访问,使对数据的访问变得更加透明。可见,本发明中节点之间数据访问的透明化程度高并且数据采集节点对获得的数据进行了上传身份的匿名化和数据加密的处理。通过匿名化,仅上传数据的数据采集节点知道其上传数据时使用的假名和自身真实身份的映射关联,而除该节点以外的任何节点均无法得知所上传数据的数据采集节点的真实身份,因此即使所存储的数据由于数据被访问的透明化程度高或是其它原因而出现泄露情况也只是泄露加密后的数据,保护了真实数据的安全。

实施例二

图2为本发明实施例提供的另一种基于联盟区块链的数据的安全加密方法的流程图。图2中步骤s10-s16与图1相同,此处不再赘述。

如图2所示,作为一种优选的实施方式的,还包括:

步骤s20:数据存储节点将假名加密数据同假名身份的对应关系及假名加密数据广播至其它目标数据存储节点。

数据存储节点将自身存储的数据广播到其它目标数据存储节点的目的在于,其它目标数据存储节点也可以获得数据存储节点中的数据,保证了数据共享透明化。可以理解的是,当数据存储节点出现故障或受到攻击而导致数据丢失后,用户仍能从其它目标数据存储节点中获取到该数据,保证了存储的数据不易丢失,提高了数据的安全性。

如图2所示,作为一种优选的实施方式的,还包括:

步骤s21:目标数据存储节点接收假名加密数据同假名身份的对应关系及假名加密数据,并验证是否符合要求,如果是,则存储到本地数据库。

本步骤主要目的是为了保证所有保存在数据存储节点上的假名加密数据都是有正确的且有意义的,以及假名加密数据与假名身份的对应关系是明确的。存储到数据库是为了能够最大程度的保障假名加密数据的存储安全,进一步提高了数据的安全性。

实施例三

与数据采集节点将数据存储到数据存储节点相对应的,本实施例进一步提供了一种目标数据采集节点访问数据采集节点的数据的方法,具体步骤请参考图3。

图3为本发明实施例提供的一种基于联盟区块链的数据的安全加密方法对应的数据访问方法的流程图。如图3所示,在上述实施例的基础上,还包括:

步骤s30:数据采集节点设置访问条件以控制其它目标数据采集节点使用目标假名身份访问数据。

在本步骤中,访问条件可以包括:目标假名身份在数据采集节点设定的假名身份范围内、目标假名身份访问的数据在数据采集节点设定的数据共享范围内且目标假名身份的访问时间满足时效要求等。设置访问条件的目的在于,防止数据泄露到不被允许访问数据采集节点的目标数据采集节点中,进一步保证了提高了数据的安全性。可以理解的是,上述访问条件的参数只是一种具体应用场景,并不代表只有几种参数。

在此基础上,进一步包括:

步骤s31:数据采集节点判断目标数据采集节点是否满足访问条件,如果是,则数据采集节点将对称密钥、假名身份的数字证书及目标假名身份对应的公钥通过数据存储节点的公钥进行加密,并发送至数据存储节点。

步骤s32:数据存储节点通过自身私钥进行解密并获得对称密钥、假名身份的数字证书及目标假名身份对应的公钥后,通过对称密钥解密假名加密数据以得到数据,通过目标假名身份对应的公钥对数据进行加密,并发送至目标数据采集节点。

其中,数据存储节点通过假名身份的数字证书找到假名加密数据。

本步骤中,由于数据采集节点加密数据时所使用的是自身的假名身份并且将假名身份与假名加密数据的对应关系保存于数据存储节点,所以数据存储节点可以根据假名加密数据与假名身份的对应关系以及假名身份的数字证书找到假名身份所对应的假名加密数据,并且通过对称密钥解密假名加密数据以得到数据。另外,数据采集节点通过目标数据采集节点的公钥进行加密的数据只能由该目标数据采集节点自身的私钥才可进行解密,这进一步保证了当数据被访问而进行传输时更加安全和可靠。

实施例四

上文中,对于基于联盟区块链的数据的安全加密方法对应的实施例进行了详细的描述,本发明还提供一种与该方法对应的基于联盟区块链的数据的安全加密装置。图4为本发明实施例提供的一种基于联盟区块链的数据的安全加密装置结构图。由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。本发明实施例提供的基于联盟区块链的数据的安全加密装置,具体包括:

数据采集节点10,用于获取数据,并向对应的数据存储节点发送上传请求及最终加密数据。

其中,最终加密数据为通过假名身份对应的对称密钥对数据进行加密以得到假名加密数据,并通过数据存储节点的公钥对假名加密数据进行加密得到。

数据存储节点11,用于判断上传请求是否通过,如果是,则接收最终加密数据,并解密以得到假名加密数据,且验证假名加密数据是否符合要求,如果是,则将假名加密数据存储到本地数据库,并将规定时间内所存储的假名加密数据压缩生成区块,加入区块链中。

本发明所提供的一种基于联盟区块链的数据的安全加密装置,在数据存储到数据存储节点前,数据采集节点通过自身的某个假名对应的对称密钥进行加密,并以该假名身份上传数据。因此,数据存储节点无法得知所上传数据的数据采集节点的真实身份以及数据的真实内容。另外,数据存储节点会定期将自身数据压缩生成区块,并加入区块链中。由于区块链是一个分布式的数据库,所以区块链网络中的其它节点也可以对于该数据进行访问,使对数据的访问变得更加透明。可见,本发明中节点之间数据访问的透明化程度高并且数据采集节点对获得的数据进行了上传身份的匿名化和数据加密的处理。通过匿名化,仅上传数据的数据采集节点知道其上传数据时使用的假名和自身真实身份的映射关联,而除该节点以外的任何节点均无法得知所上传数据的数据采集节点的真实身份,因此即使所存储的数据由于数据被访问的透明化程度高或是其它原因而出现泄露情况也只是泄露加密后的数据,保护了真实数据的安全。

在上述实施例的基础上,数据采集节点10还用于设置访问条件以控制其它目标数据采集节点使用目标假名身份访问数据。

设置访问条件的目的在于,防止数据泄露到不被允许访问数据采集节点的目标数据采集节点中,进一步保证了提高了数据的安全性。

以上对本发明所提供的一种基于联盟区块链的数据的安全加密方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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