System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于区块链以及加密,具体涉及一种基于区块链的数据访问权限管理方法、装置及存储介质。
技术介绍
1、金融领域,数据本身具有非常高的商业价值,并涉及非常多的用户隐私,非常的敏感,所以金融业务一般不会直接把金融数据上链存储。而是将原始数据托管在本地,将数据的哈希进行上链存证,从而确保数据可信的同时确保数据安全。
2、现有的权限管理方法使用一个密钥对中的公钥对所有数据进行加密,然后将加密的数据直接上链,然后将密钥对中的私钥下发给所有的数据使用方,即给数据使用者开通数据访问权限,此种权限管理方法尽管能确保数据可信且实时访问,但是无法区分数据使用者的权限,即无法实现对数据使用者权限进行细粒度的管控,存在安全风险。现有的另一种权限管理方法使用每个使用方的公钥对数据进行加密,然后通过每个数据使用方的私钥解密,此种方案虽然可以解决使用者权限的问题,但是在具有多个使用者的情况下,会出现使用多个公钥对同一份数据执行多次加密,并且需要对多次加密的数据进行上链保存,增加了数据保存的成本。
技术实现思路
1、本申请提供了一种基于区块链的数据访问权限管理方法、系统及计算机可读存储介质,能够实现对数据使用者的权限实现细粒度的管控的同时,不会对一份数据执行多次加密,提高数据访问的安全性的同时,降低了数据保存的成本。
2、第一方面,本申请提供了一种基于区块链的数据访问权限管理方法,所述方法包括如下步骤:
3、获取具有数据访问权限的多个使用方的多个特征,构建多个特征的权限决策树
4、在加密阶段,随机生成一个共享向量,将需要加密的数据添加至所述共享向量中得到分享向量,将所述分享向量通过所述特征矩阵进行加密得到包含该数据的加密向量;在预设的大素数集合中随机选择n个大素数,所述n为加密向量的特征个数,利用n个大素数计算得到n个秘钥种子,根据n个秘钥种子生成n个秘钥对,采用n个秘钥对的公钥对所述加密向量的每一个特征进行加密得到加密数据,将所述加密数据上链;
5、在解密阶段,提取每个使用方对应的特征集,依据所述特征集确定每个使用方对应权限的每个私钥集,将每个私钥集分别下发至对应的使用者使得所述使用者通过私钥集解密加密数据得到与私钥集的权限对应的解密数据。
6、第二方面,提供一种基于区块链的数据访问权限管理装置,所述装置包括:
7、获取单元,用于获取具有数据访问权限的多个使用方的多个特征;
8、构建单元,用于构建多个特征的权限决策树,将权限决策树转换为二叉树,构建所述二叉树的一个特征矩阵;
9、加密单元,用于随机生成一个共享向量,将需要加密的数据添加至所述共享向量中得到分享向量,将所述分享向量通过所述特征矩阵进行加密得到包含该数据的加密向量;在预设的大素数集合中随机选择n个大素数,所述n为加密向量的特征个数,利用n个大素数计算得到n个秘钥种子,根据n个秘钥种子生成n个秘钥对,采用n个秘钥对的公钥对所述加密向量的每一个特征进行加密得到加密数据,将所述加密数据上链;
10、解密单元,用于提取每个使用方对应的特征集,依据所述特征集确定每个使用方对应权限的每个私钥集,将每个私钥集分别下发至对应的使用者使得所述使用者通过私钥集解密加密数据得到与私钥集的权限对应的解密数据。
11、第三方面,本申请提供了一种计算机存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本申请第一方面所描述的部分或全部步骤。
12、本申请实施例具有以下有益效果:
13、本申请提供的技术方案获取具有数据访问权限的多个使用方的多个特征,构建多个特征的权限决策树,将权限决策树转换为逻辑树,构建所述逻辑树的一个特征矩阵,在加密阶段,随机生成一个共享向量,将需要加密的数据添加至所述共享向量中得到分享向量,将所述分享向量通过所述特征矩阵进行加密得到包含该数据的加密向量;在预设的大素数集合中随机选择n个大素数,所述n为加密向量的特征个数,利用n个大素数计算得到n个秘钥种子,根据n个秘钥种子生成n个秘钥对,采用n个秘钥对的公钥对所述加密向量的每一个特征进行加密得到加密数据,将所述加密数据上链,在解密阶段,提取每个使用方对应的特征集,依据所述特征集确定每个使用方对应权限的每个私钥集,将每个私钥集分别下发至对应的使用者使得使用者通过私钥集解密加密数据得到与私钥集的权限对应的解密数据。这样由于将不同的特征采用不同的密钥对的公钥进行加密,解密时能够通过使用者不同的特征来获取对应的私钥解密,这样只有使用者具有对应的特征权限时才能够实现对该特征的数据解密得到与其对应权限的数据,此种方式能够实现细粒度的权限的管控,并且在加密时是使用公钥每一个特征进行加密得到加密数据,单个特征无需执行多次加密,也无需生成多份加密数据上链,降低了数据保存的成本,提高数据的安全性。
本文档来自技高网...【技术保护点】
1.一种基于区块链的数据访问权限管理方法,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述构建多个特征的权限决策树,将权限决策树转换为逻辑树,构建所述逻辑树的一个特征矩阵具体包括:
3.根据权利要求2所述的方法,其特征在于,所述随机生成一个共享向量,将需要加密的数据添加至所述共享向量中得到分享向量具体包括:
4.根据权利要求3所述的方法,其特征在于,所述分享向量通过所述特征矩阵进行加密得到包含该数据的加密向量具体包括:
5.根据权利要求4所述的方法,其特征在于,所述利用n个大素数计算得到n个秘钥种子,根据n个秘钥种子生成n个秘钥对具体包括:
6.根据权利要求5所述的方法,其特征在于,所述采用n个秘钥对的公钥对所述加密向量的每一个特征进行加密得到加密数据,将所述加密数据上链具体包括:
7.根据权利要求6所述的方法,其特征在于,所述提取每个使用方对应的特征集,依据所述特征集确定每个使用方对应权限的每个私钥集的实现方式具体包括:
8.根据权利要求1-7任意一项所述的方法
9.一种基于区块链的数据访问权限管理装置,其特征在于,所述装置包括:
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-8任一项所述的方法中的步骤的指令。
...【技术特征摘要】
1.一种基于区块链的数据访问权限管理方法,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述构建多个特征的权限决策树,将权限决策树转换为逻辑树,构建所述逻辑树的一个特征矩阵具体包括:
3.根据权利要求2所述的方法,其特征在于,所述随机生成一个共享向量,将需要加密的数据添加至所述共享向量中得到分享向量具体包括:
4.根据权利要求3所述的方法,其特征在于,所述分享向量通过所述特征矩阵进行加密得到包含该数据的加密向量具体包括:
5.根据权利要求4所述的方法,其特征在于,所述利用n个大素数计算得到n个秘钥种子,根据n个秘钥种子生成n个秘钥对具体包括:
6.根据权利要...
【专利技术属性】
技术研发人员:张龙,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。