本发明涉及数据流通信息安全,更具体的说是涉及一种基于区块链的数据流通方法。
背景技术:
1、随着互联网的发展,很多客户产生了大量的业务数据,这些业务数据不仅是供客户自身进行使用,有时还需要提供给其他客户进行使用。而对于数据所有方和数据请求方的互信问题和安全问题,则可以采用具有安全性高、不可抵赖性、不可删除性等特性的区块链技术。现有技术在数据流通过程中引入区块链技术,通常是由中心化平台将流通数据等信息进行记录和保存,即强中心化的方式使得中心化平台对数据具有绝对的掌控权,并不能完全保障信息的安全。
2、因此如何消除区块链在数据流通过程中的绝对掌控,将数据进行分散,使数据请求方、数据所有方、区块链三方进行相互制约相互监督,是本领域技术人员亟需解决的问题。
技术实现思路
1、有鉴于此,本发明提供了一种基于区块链的数据流通方法,通过数据请求方、数据所有方、区块链三方制约的形式,提高数据流通过程中的安全性和严谨性。
2、为了实现上述目的,本发明提供如下技术方案:
3、一方面,本发明提供一种基于区块链的数据流通方法,应用于区块链节点,具体包括以下步骤:
4、步骤1、依据数据所有方的请求生成数据标签并发送至数据所有方,接收数据所有方发送的数据标签以及数字签名,并添加到区块中;
5、步骤2、接收数据请求方发送的数字签名获取请求和数据标签,调取数据标签对应的数字签名发送至数据请求方;
6、步骤3、将目标数据的使用信息添加到区块中。
7、可选的,所述步骤1中,依据数据所有方的请求生成数据标签的方法为:
8、接收数据所有方发送的数据上传请求;
9、依据数据所有方的用户信息确定用户信息部,依据数据所有方上传请求的次数,确定数据标识部,所述用户信息部和数据标识部共同构成初始数据标签;
10、使用密钥对所述初始数据标签进行对称加密,得到数据标签。
11、可选的,所述步骤2中,接收数据请求方发送的数字签名获取请求和数据标签,调取数据标签对应的数字签名的方法为:
12、接收数据请求方发送的数据标签;
13、使用所述密钥对数据标签进行解密,得到初始数据标签;
14、依据所述初始数据标签,确定初始数据标签中包含的数据所有方用户信息以及数据所有方上传请求的次数,并将对应的数字签名发送至数据请求方。
15、可选的,所述密钥采用aes密钥。
16、可选的,所述步骤3中,目标数据的使用信息包括:数据签名请求时间、数据请求方用户信息。
17、另一方面,本发明还提供一种基于区块链的数据流通方法,应用于数据所有方,具体包括以下步骤:
18、步骤1、向区块链发送数据标签生成请求,得到目标数据的数据标签;
19、步骤2、使用哈希函数生成目标数据的原摘要,并使用私钥对原摘要进行加密,生成数字签名;
20、步骤3、将数据标签以及数字签名添加到区块中;
21、步骤4、接收数据请求方的数据使用请求,并发送数据标签以及与所述私钥对应的公钥至数据请求方;
22、步骤5、接收数据请求方发送的送达反馈信息后,使用私钥对目标数据进行加密,将加密后的目标数据发送至数据请求方。
23、可选的,所述私钥和密钥为数据所有方每一次向区块添加信息时,使用椭圆曲线加密算法随机生成的一对私钥和密钥。
24、再一方面,本发明还提供一种基于区块链的数据流通方法,应用于数据请求方,具体包括以下步骤:
25、步骤1、向数据所有方发送数据使用请求;
26、步骤2、接收数据所有方发送的公钥和数据标签,并将送达反馈信息发送至数据所有方;
27、步骤3、接收数据所有方发送的加密后的目标数据;
28、步骤4、向区块链发送数字签名获取请求和数据标签,获取数据标签对应的数字签名;
29、步骤5、使用所述公钥对数字签名和加密后的目标数据进行解密,得到原摘要和目标数据;
30、步骤6、对目标函数使用哈希函数,生成新摘要;
31、步骤7、将所述新摘要和原摘要进行比较,若新摘要和原摘要相同,则数据请求方得到的目标数据没有被篡改。
32、可选的,所述数据使用请求至少包括待使用的目标资源和数据请求方用户信息。
33、经由上述的技术方案可知,本发明提供了一种基于区块链的数据流通方法,与现有技术相比,具有以下有益效果:
34、(1)本发明中数据所有方向区块链申请获取数据标签,并上传数据标签和数字签名,将数据标签发送给数据请求方,使得数据请求方可以依据所述数据标签向区块链申请获取目标数据的数字签名,在本发明中目标数据的数字签名存储在区块链中供数据请求方进行获取,避免了数字签名和加密的目标数据使用同一个传输方式进行传输,而数字签名的作用也是为了验证目标数据,若数字签名和加密的目标数据由同一方传输,当目标数据被篡改使,数字签名同样可能被篡改,因此本发明将数字签名和加密的目标数据由不同方进行传输至数据请求方,使得数字签名的验证功能发挥正向作用,进一步保障了验证过程的安全性。
35、(2)本发明中数据请求方在收到数据所有方发送的数据标签和公钥时,向数据所有方进行正向反馈,数据所有方在收到正向反馈后才会向数据请求方发送加密的目标数据,该方式能够检测数据所有方和数据请求方之间数据流通是否通畅,避免因为数据被拦截导致的数据泄露。
36、(3)本发明数据请求方使用公钥对数字签名和加密的目标数据进行解密,得到原摘要和目标数据,并进一步使用哈希函数得到新摘要,哈希函数操作不可逆,因此检验原摘要和新摘要是否相同,即可判定目标数据是否被篡改。
37、综上所述,本发明消除了区块链在数据流通过程中的绝对掌控,将数据进行分散,使数据请求方、数据所有方、区块链三方进行相互制约相互监督,提高了数据流通过程中的安全性和严谨性。
1.一种基于区块链的数据流通方法,其特征在于,应用于区块链节点,具体包括以下步骤:
2.根据权利要求1所述的一种基于区块链的数据流通方法,其特征在于,所述步骤1中,依据数据所有方的请求生成数据标签的方法为:
3.根据权利要求2所述的一种基于区块链的数据流通方法,其特征在于,所述步骤2中,接收数据请求方发送的数字签名获取请求和数据标签,调取数据标签对应的数字签名的方法为:
4.根据权利要求3所述的一种基于区块链的数据流通方法,其特征在于,所述密钥采用aes密钥。
5.根据权利要求1所述的一种基于区块链的数据流通方法,其特征在于,所述步骤3中,目标数据的使用信息包括:数据签名请求时间、数据请求方用户信息。
6.一种基于区块链的数据流通方法,其特征在于,应用于数据所有方,具体包括以下步骤:
7.根据权利要求6所述的一种基于区块链的数据流通方法,其特征在于,所述私钥和密钥为数据所有方每一次向区块添加信息时,使用椭圆曲线加密算法随机生成的一对私钥和密钥。
8.一种基于区块链的数据流通方法,其特征在于,应用于数据请求方,具体包括以下步骤:
9.根据权利要求8所述的一种基于区块链的数据流通方法,其特征在于,所述数据使用请求至少包括待使用的目标资源和数据请求方用户信息。