System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据共享,特别是涉及一种数据共享方法、系统、设备及存储介质。
技术介绍
1、现如今,数据共享大多是通过线上方式实现的。即,想要使用数据的数据使用者可以通过线上方式,向数据提供者或者数据拥有者请求访问数据。
2、目前大多数数据共享方案中,数据是存储在服务器的,数据使用者会先发送数据请求,由服务器数据直接发送给数据使用者。在这过程中缺乏对数据的隐私保护,安全性较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高安全性的数据共享方法、系统、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种数据共享方法。方法包括:
3、数据访问控制合约响应数据使用者对目标数据的数据访问请求,确定目标数据的类别;
4、若目标数据属于第二类数据,则基于数据使用者的属性集,验证数据使用者是否具有目标数据的访问权限;其中,属于第二类数据的目标数据对应的密文文件存储在文件系统;密文文件中包括由对称密钥对目标数据加密的第一密文、及由公钥将对称密钥加密的第二密文;区块链上记录了密文文件在文件系统中的第一存储地址;
5、区块链中记录了文件系统中加密存储数据的关键字陷门;区块链上记录的关键字陷门是根据第一哈希函数、第二哈希函数、加密存储数据的关键字以及预设属性生成的;数据访问请求中的关键字陷门是根据第一哈希函数、第二哈希函数、目标数据的关键字以及数据使用者的属性集生成的;第一哈希函数和第二哈希函数是用于
6、若匹配成功,向数据使用者发送区块链上的第一存储地址,以使数据使用者基于第一存储地址从文件系统中获取第一密文和第二密文,并使用监管中心下发的私钥解密第二密文得到对称密钥,基于对称密钥解密第一密文得到目标数据。
7、在其中一个实施例中,基于数据使用者的属性集,验证数据使用者是否具有目标数据的访问权限,包括:
8、若基于数据使用者的属性集计算出能够与目标内积一起解密秘密值的目标常数集,则确定数据使用者的属性集满足预设的数据访问结构;其中,数据访问结构包括数据访问约束矩阵;目标内积是数据访问约束矩阵中行向量与目标列向量的内积;目标列向量的向量元素中含有秘密值;
9、判定满足数据访问结构的数据使用者具有目标数据的访问权限。
10、在其中一个实施例中,区块链上存储的关键字陷门具有对应的第一验证参照信息和第二验证参照信息;其中,第一验证参照信息是根据秘密值以及循环群中的生成元确定的;第二验证参照信息是根据生成元、以及数据访问约束矩阵中行向量与目标列向量的内积确定的;
11、基于验证辅助信息,将数据访问请求中的关键字陷门与区块链上预先存储的关键字陷门匹配,包括:
12、若验证辅助信息、数据访问请求中的关键字陷门、第一验证参照信息、第二验证参照信息和区块链上存储的关键字陷门满足预设等式关系,则判定数据访问请求中的关键字陷门与区块链上存储的关键字陷门匹配成功。
13、在其中一个实施例中,预设等式关系为:
14、;
15、其中,是指数据访问请求中的关键字陷门,是指验证辅助信息,是指第一验证参照信息、是指第二验证参照信息,是指区块链上存储的关键字陷门,g是指循环群的生成元,β是从正整数集合中选择的随机参数;属于目标常数集中的常数;是数据使用者的属性集sid的子属性集;是子属性集中第i个属性。
16、在其中一个实施例中,区块链上存储了第三类数据的数据目录;第三类数据的数据本体存储在数据拥有者的本地;
17、方法还包括:
18、若目标数据属于第三类数据,则向数据使用者发送区块链存储的目标数据的数据目录;数据目录用于指示数据使用者向数据拥有者发送针对目标数据的数据使用请求,并获取数据拥有者响应数据使用请求对目标数据执行计算后的计算结果。
19、在其中一个实施例中,区块链上记录了以明文形式存储在文件系统上的各个数据的存储地址;以明文形式存储在文件系统上的各个数据属于第一类数据;
20、方法还包括:
21、若目标数据属于第一类数据,则在验证数据使用者的身份后,从区块链上获取目标数据在文件系统上的第二存储地址,并向数据使用者发送区块链上的第二存储地址,以使数据使用者基于第二存储地址从文件系统中获取目标数据。
22、第二方面,本申请还提供了一种数据共享系统,用于实现本申请各实施例中的方法。系统包括:数据使用者、数据访问控制合约和文件系统;
23、数据访问控制合约,用于响应数据使用者对目标数据的数据访问请求,确定目标数据的类别;若目标数据属于第二类数据,则基于数据使用者的属性集,验证数据使用者是否具有目标数据的访问权限;其中,属于第二类数据的目标数据对应的密文文件存储在文件系统;密文文件中包括由对称密钥对目标数据加密的第一密文、及由公钥将对称密钥加密的第二密文;区块链上记录了密文文件在文件系统中的第一存储地址;
24、数据访问控制合约还用于若访问权限验证通过,则将数据访问请求中的关键字陷门与区块链上预先存储的关键字陷门进行匹配;若匹配成功,向数据使用者发送区块链上的第一存储地址;
25、数据使用者,用于基于第一存储地址从文件系统中获取第一密文和第二密文,并使用监管中心下发的私钥解密第二密文得到对称密钥,基于对称密钥解密第一密文得到目标数据。
26、第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中的步骤。
27、第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中的步骤。
28、第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各实施例中的步骤。
29、上述数据共享方法、系统、计算机设备、存储介质和计算机程序产品中,将第二类数据的密文的存储地址以及关键字陷门预先存储在了区块链上。基于区块链上的数据访问控制合约识别待访问的目标数据的类别,在目标数据属于第二类数据的情况下,能使用针对第二类数据的专有的数据访问共享方式,即,基于数据使用者的属性集验证访问权限,在权限验证通过后,再基于区块链进行关键字陷门匹配,匹配成功后,再发送存储地址给数据使用者从文件系统上访问目标数据,以实现数据共享,提高了数据共享的安全性。
本文档来自技高网...【技术保护点】
1.一种数据共享方法,其特征在于,方法包括:
2.根据权利要求1所述的方法,其特征在于,基于数据使用者的属性集,验证数据使用者是否具有目标数据的访问权限,包括:
3.根据权利要求2所述的方法,其特征在于,区块链上存储的关键字陷门具有对应的第一验证参照信息和第二验证参照信息;其中,第一验证参照信息是根据秘密值以及循环群中的生成元确定的;第二验证参照信息是根据生成元以及目标内积确定的;
4.根据权利要求3所述的方法,其特征在于,预设等式关系为:
5.根据权利要求1所述的方法,其特征在于,区块链上存储了第三类数据的数据目录;第三类数据的数据本体存储在数据拥有者的本地;
6.根据权利要求1至5中任一项所述的方法,其特征在于,区块链上记录了以明文形式存储在文件系统上的各个数据的存储地址;以明文形式存储在文件系统上的各个数据属于第一类数据;
7.一种数据共享系统,其特征在于,用于实现权利要求1至6中任一项所述的方法,系统包括:数据使用者、数据访问控制合约和文件系统;
8.一种计算机设备,包括存储器和处理器,存
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种数据共享方法,其特征在于,方法包括:
2.根据权利要求1所述的方法,其特征在于,基于数据使用者的属性集,验证数据使用者是否具有目标数据的访问权限,包括:
3.根据权利要求2所述的方法,其特征在于,区块链上存储的关键字陷门具有对应的第一验证参照信息和第二验证参照信息;其中,第一验证参照信息是根据秘密值以及循环群中的生成元确定的;第二验证参照信息是根据生成元以及目标内积确定的;
4.根据权利要求3所述的方法,其特征在于,预设等式关系为:
5.根据权利要求1所述的方法,其特征在于,区块链上存储了第三类数据的数据目录;第三类数据的数据本体存储在数据拥有者的本地;
【专利技术属性】
技术研发人员:刘齐军,陈宛祯,周琴,钟思琪,陈益辉,谭林,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。