基于区块链技术的键值数据定向分享方法、装置、系统及存储介质与流程

文档序号:29436045发布日期:2022-03-30 08:45阅读:74来源:国知局
基于区块链技术的键值数据定向分享方法、装置、系统及存储介质与流程

1.本发明涉及区块链技术,尤其涉及一种基于区块链技术的键值数据定向分享方法、装置、系统及存储介质。


背景技术:

2.目前,区块链底层平台一般是采用“键值对”的存储结构,其优势在于具有极高的并发读写性能。由于键值对中每个关键字key都会对应一个唯一的值value,同时,value可以是一个简单的值,也可以由一组键值对组成的复杂数据组成。在查询时,只要知晓key值,便可获取到对应的value值,即一旦key值被泄露或者被公开,必然造成value值被泄露或者被公开;虽然,可在业务层面设定key值的获取权限,来降低数据泄露的风险,但是,无法从根本上解决存在数据泄露风险的问题,因此,有必要针对“键值对”的存储结构设计一种基于区块链的键值数据定向分享给指定用户的技术方案。


技术实现要素:

3.鉴于以上所述现有技术的不足,本发明的目的在于:提供一种基于区块链技术的键值数据定向分享方法,key值将公开可查询,但value值加密,只有指定用户才能解密,从而达到定向分享数据目的。
4.为实现上述发明目的,本发明提供以下技术方案:
5.一种基于区块链技术的键值数据定向分享方法,其特征在于,包括以下步骤:
6.获取拟分享的键值对,并按照预设的加密算法对所述键值对的value值进行加密,得到第一加密数据;
7.获取拟分享对象的身份标识与公钥,利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;
8.将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;其中,所述键值对的key值和所述拟分享对象的身份标识作为从区块链上获取所述第一加密数据与所述第二加密数据的索引。
9.根据一种具体的实施方式,本发明基于区块链技术的键值数据定向分享方法中,所述键值对的value值加密时,若value值包含多个交易,则按照预设的第一加密算法对拟分享的交易进行加密,得到所述第一加密数据,以及按照预设的第二加密算法对其他的交易进行加密。
10.根据一种具体的实施方式,本发明基于区块链技术的键值数据定向分享方法中,将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上后,根据所述拟分享对象的身份标识,对所述拟分享对象发出提醒,使其获取分享的键值数据。
11.根据一种具体的实施方式,本发明基于区块链技术的键值数据定向分享方法中,
预设的加密算法为随机对称加密算法。
12.在本发明具体实施的另一方面,还提供一种装置,其包括:
13.第一加密模块,用于并按照预设的加密算法对拟分享的键值对的value值进行加密,得到第一加密数据;
14.第二加密模块,用于利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;
15.上链模块,用于将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;其中,所述键值对的key值和所述拟分享对象的身份标识作为从区块链上获取所述第一加密数据与所述第二加密数据的索引。
16.根据一种具体的实施方式,本发明装置中,所述第二加密模块,用于在拟分享的所述键值对的value值包含多个交易时,按照预设的第一加密算法对拟分享的交易进行加密,按照预设的第二加密算法对其他的交易进行加密。
17.根据一种具体的实施方式,本发明装置还包括:提醒模块,用于在所述上链模块将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据成功存储在区块链网络上后,根据所述拟分享对象的身份标识,对所述拟分享对象发出提醒,使其获取分享的键值数据。
18.在本发明具体实施的另一方面,还提供一种系统,其包括:至少一个区块链网络以及能够与各个区块链网络进行数据交互的多个客户终端;其中,
19.作为分享方的客户终端,用于获取拟分享的键值对,并按照预设的加密算法对所述键值对的value值进行加密,得到第一加密数据;获取拟分享对象的身份标识与公钥,利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;以及,将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;其中,所述键值对的key值和所述拟分享对象的身份标识作为从区块链上获取所述第一加密数据与所述第二加密数据的索引;
20.作为被分享方的客户终端,用于所述键值对的key值和所述拟分享对象的身份标识作为索引,从区块链上获取所述第一加密数据与所述第二加密数据,并通过其私钥解密所述第二加密数据,得到第一加密数据的加密密钥,进而通过所述第一加密数据的加密密钥对所述第一加密数据进行解密,获取分享的键值数据。
21.根据一种具体的实施方式,本发明的系统中,作为分享方的客户终端,还用于将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据成功存储在区块链网络上后,还将所述区块链网络的区块链标识发送给拟分享对象。
22.在本发明具体实施的另一方面,还提供一种计算机可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明所述的基于区块链技术的键值数据定向分享方法。
23.与现有技术相比,本发明的有益效果:
24.本发明基于区块链技术的键值数据定向分享方法,该方法首先按照预设的加密算法对拟分享的键值对的value值进行加密,得到第一加密数据;然后,获取拟分享对象的身份标识与公钥,利用拟分享对象的公钥对第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;最后,将拟分享的键值对的key值、拟分享对象的身份标识、第一加密数据以
及第二加密数据存储在区块链网络上,并将键值对的key值和拟分享对象的身份标识作为从区块链上获取第一加密数据与所述第二加密数据的索引。因此,本发明能够通过拟分享对象的身份标识和公开的key值获取到加密数据,并通过拟分享对象的私钥进行解密,从而获取定向分享的数据。
附图说明
25.图1为本发明基于区块链技术的键值数据定向分享方法的流程示意图;
26.图2为本发明装置的结构示意图;
27.图3为本发明系统的结构示意图。
具体实施方式
28.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
29.如图1所示,本发明基于区块链技术的键值数据定向分享方法,包括以下步骤:
30.首先,获取拟分享的键值对,并按照预设的加密算法对所述键值对的value值进行加密,得到第一加密数据;
31.获取拟分享对象的身份标识与公钥,利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;
32.将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;而且,所述拟分享对象通过其身份标识和所述键值对的key值,从区块链上获取所述第一加密数据和所述第二加密数据,并通过其私钥对所述第二加密数据解密,得到所述第一加密数据的加密密钥,进而通过所述第一加密数据的加密密钥对所述第一加密数据进行解密,得到所述键值对的value值。
33.由于在具体区块链业务场景下,value由一组键值对组成的复杂数据组成,比如包含多个交易,若直接通过关键字key,会读取value中包含的全部交易,因此,为了仅对value中某些交易进行分享,按照预设的第一加密算法对拟分享的交易进行加密,得到第一加密数据,以及按照预设的第二加密算法对其他的交易进行加密。在实施时,本发明基于区块链技术的键值数据定向分享方法中,预设的加密算法为随机对称加密算法,比如3des、aes、blowfish、idea、rc5、rc6等。
34.具体的,将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上后,根据所述拟分享对象的身份标识,对所述拟分享对象发出提醒,使其获取分享的键值数据。比如,通过拟分享对象的身份标识能够关联其电话、邮箱或通讯软件账号,可直接发出提醒;提醒内容,可以包括公开的key值和区块链网络标识等。其中,区块链网络标识是在存在多个支持数据分享的区块链网络时,以区分不同的区块链网络,方便用户获取数据;而且,引入多个区块链网络,意味着更多的区块链基础设施服务商的加入,从而更方便地实现用户之间的数据分享。
35.如图2所示,本发明的装置,其包括:
36.第一加密模块,用于并按照预设的加密算法对拟分享的键值对的value值进行加密,得到第一加密数据;
37.第二加密模块,用于利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;
38.上链模块,用于将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;其中,所述键值对的key值和所述拟分享对象的身份标识作为从区块链上获取所述第一加密数据与所述第二加密数据的索引。
39.具体的,所述第二加密模块,用于在拟分享的所述键值对的value值包含多个交易时,按照预设的第一加密算法对拟分享的交易进行加密,按照预设的第二加密算法对其他的交易进行加密。
40.在实施时,本发明的装置还包括:提醒模块,用于在所述上链模块将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据成功存储在区块链网络上后,根据所述拟分享对象的身份标识,对所述拟分享对象发出提醒,使其获取分享的键值数据。
41.如图3所示,本发明的系统中包括:n个区块链网络以及n个能够与各个区块链网络进行数据交互的客户终端;其中,
42.作为分享方的客户终端,用于获取拟分享的键值对,并按照预设的加密算法对所述键值对的value值进行加密,得到第一加密数据;获取拟分享对象的身份标识与公钥,利用所述拟分享对象的公钥对所述第一加密数据的加密秘钥进行非对称加密,得到第二加密数据;以及,将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据存储在区块链网络上;其中,所述键值对的key值和所述拟分享对象的身份标识作为从区块链上获取所述第一加密数据与所述第二加密数据的索引;
43.作为被分享方的客户终端,用于所述键值对的key值和所述拟分享对象的身份标识作为索引,从区块链上获取所述第一加密数据与所述第二加密数据,并通过其私钥解密所述第二加密数据,得到第一加密数据的加密密钥,进而通过所述第一加密数据的加密密钥对所述第一加密数据进行解密,获取分享的键值数据。
44.在实施时,作为分享方的客户终端,还用于将所述键值对的key值、所述拟分享对象的身份标识、所述第一加密数据以及所述第二加密数据成功存储在区块链网络上后,还将所述区块链网络的区块链标识发送给拟分享对象;其中,区块链网络标识是在存在多个支持数据分享的区块链网络时,以区分不同的区块链网络,方便用户获取数据;而且,引入多个区块链网络,意味着更多的区块链基础设施服务商的加入,从而增加用户的选择,能够提高用户之间的数据分享的体验。
45.在本发明具体实施的另一方面,还提供一种计算机可读存储介质,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现本发明所述的基于区块链技术的键值数据定向分享方法。
46.应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的
形式。
47.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
48.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1