本发明涉及区块链,尤其涉及基于区块链的数据处理方法及装置。
背景技术:
1、本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、基于区块链的全局分布式文件系统(distributed file system,dfs)是一种去中心化存储系统,利用区块链技术提供了安全保障,现有的去中心化存储系统可以实现文件的加密和存储,但是对于如何实现文件基于区块链秘密共享,以提高文件的安全性仍亟待解决。
技术实现思路
1、本发明实施例提供一种基于区块链的数据处理方法,用以提高基于区块链共享文件的安全性,该方法包括:
2、接收文件请求节点发送的文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;
3、使用第一密钥对第二密钥加密,将得到的数据嵌入至第一交易中;
4、通过指定通道发送第一交易的标识和第二交易的标识至文件请求节点;其中,第二交易的数据包括智能合约的相关信息;智能合约由文件共享节点预先部署在区块链中;
5、使用第三密钥对共享文件加密后上传至分布式文件系统;
6、将使用第二密钥加密后的共享文件信息嵌入至第三交易中;其中,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;
7、将共享文件的关键字索引存储至智能合约中。
8、可选地,接收文件请求节点发送的文件请求,包括:
9、确定文件请求节点对应的匿名身份的声誉评级符合预设条件;其中,声誉评级为与匿名身份关联的用户身份获得的;匿名身份为针对用户身份和文件请求生成的一次性的身份。
10、本发明实施例还提供另一种基于区块链的数据处理方法,用以提高基于区块链共享文件的安全性,该方法包括:
11、向文件共享节点发送文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;
12、根据文件共享节点发送的第一交易的标识和第二交易的标识查找第一交易的数据和第二交易的数据;其中,第一交易的数据包括文件共享节点使用第一密钥对第二密钥加密后得到的数据;第二交易的数据包括智能合约的相关信息;
13、基于第二交易的数据调用智能合约,通过智能合约基于共享文件的关键字索引搜索第三交易,得到第三交易的数据;其中,第三交易的数据包括文件共享节点使用第二密钥加密后的共享文件信息,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;
14、使用第一密钥解密第三交易的数据得到第四密钥;
15、使用第四密钥解密共享文件信息得到共享文件在分布式文件系统中的文件位置;
16、在分布式文件系统中根据文件位置下载加密后的共享文件;
17、使用第一密钥解密第一交易的数据得到第二密钥;
18、使用第二密钥对加密后的共享文件解密,得到共享文件。
19、可选地,在向文件共享节点发送文件请求之前,该方法还可以包括:针对当前的用户身份和文件请求生成一次性的身份,得到匿名身份;
20、相应地,向文件共享节点发送文件请求可以包括:使用匿名身份发送文件请求;
21、在得到共享文件之后,该方法还可以包括:使用匿名身份对文件共享节点的声誉设置评级。
22、本发明实施例还提供一种基于区块链的数据处理装置,用以提高基于区块链共享文件的安全性,该装置包括:
23、接收单元,用于接收文件请求节点发送的文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;
24、第一交易执行单元,用于使用第一密钥对第二密钥加密,将得到的数据嵌入至第一交易中;
25、发送单元,用于通过指定通道发送第一交易的标识和第二交易的标识至文件请求节点;其中,第二交易的数据包括智能合约的相关信息;智能合约由文件共享节点预先部署在区块链中;
26、文件上传单元,用于使用第三密钥对共享文件加密后上传至分布式文件系统;
27、第二交易执行单元,用于将使用第二密钥加密后的共享文件信息嵌入至第三交易中;其中,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;
28、存储单元,用于将共享文件的关键字索引存储至智能合约中。
29、可选地,接收单元还可以用于确定文件请求节点对应的匿名身份的声誉评级符合预设条件;其中,声誉评级为与匿名身份关联的用户身份获得的;匿名身份为针对用户身份和文件请求生成的一次性的身份。
30、本发明实施例还提供另一种基于区块链的数据处理装置,用以提高基于区块链共享文件的安全性,该装置包括:
31、发送单元,用于向文件共享节点发送文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;
32、查找单元,用于根据文件共享节点发送的第一交易的标识和第二交易的标识查找第一交易的数据和第二交易的数据;其中,第一交易的数据包括文件共享节点使用第一密钥对第二密钥加密后得到的数据;第二交易的数据包括智能合约的相关信息;
33、调用单元,用于基于第二交易的数据调用智能合约,通过智能合约基于共享文件的关键字索引搜索第三交易,得到第三交易的数据;其中,第三交易的数据包括文件共享节点使用第二密钥加密后的共享文件信息,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;
34、第一解密单元,用于使用第一密钥解密第三交易的数据得到第四密钥;
35、第二解密单元,用于使用第四密钥解密共享文件信息得到共享文件在分布式文件系统中的文件位置;
36、下载单元,用于在分布式文件系统中根据文件位置下载加密后的共享文件;
37、第三解密单元,用于使用第一密钥解密第一交易的数据得到第二密钥;
38、第四解密单元,用于使用第二密钥对加密后的共享文件解密,得到共享文件。
39、可选地,该装置还可以包括:
40、生成单元,用于在向文件共享节点发送文件请求之前,针对当前的用户身份和文件请求生成一次性的身份,得到匿名身份;发送单元还用于使用匿名身份发送文件请求;
41、评级单元,用于在得到共享文件之后,使用匿名身份对文件共享节点的声誉设置评级。
42、本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据处理方法。
43、本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
44、本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
45、本发明实施例中,文件共享节点通过接收文件请求节点发送的文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;使用第一密钥对第二密钥加密,将得到的数据嵌入至第一交易中;通过指定通道发送第一交易的标识和第二交易的标识至文件请求节点;其中,第二交易的数据包括智能合约的相关信息;智能合约由文件共享节点预先部署在区块链中;使用第三密钥对共享文件加密后上传至分布式文件系统;将使用第二密钥加密后的共享文件信息嵌入至第三交易中;其中,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;将共享文件的关键字索引存储至智能合约中,这样,文件请求节点通过向文件共享节点发送文件请求;其中,文件请求中携带文件请求节点提供的第一密钥;根据文件共享节点发送的第一交易的标识和第二交易的标识查找第一交易的数据和第二交易的数据;其中,第一交易的数据包括文件共享节点使用第一密钥对第二密钥加密后得到的数据;第二交易的数据包括智能合约的相关信息;基于第二交易的数据调用智能合约,通过智能合约基于共享文件的关键字索引搜索第三交易,得到第三交易的数据;其中,第三交易的数据包括文件共享节点使用第二密钥加密后的共享文件信息,共享文件信息包括使用第四密钥对共享文件在分布式文件系统中的文件位置加密后得到的数据、以及使用第一密钥对第四密钥加密后得到的数据;使用第一密钥解密第三交易的数据得到第四密钥;使用第四密钥解密共享文件信息得到共享文件在分布式文件系统中的文件位置;在分布式文件系统中根据文件位置下载加密后的共享文件;使用第一密钥解密第一交易的数据得到第二密钥;使用第二密钥对加密后的共享文件解密,得到共享文件,与现有技术中将加密文件存储在分布式文件系统,向文件请求方提供解密密钥的技术方案相比,通过本发明实施例中的加密技术,可以提高基于区块链共享文件的安全性。