1.一种分布式加密存储方法,其特征在于,包括:
文件拥有者提出文件上传申请,基于所述上传申请确定出对应的文件参与者;所述文件拥有者根据其自身的规则设定和文件属性对需上传的文件分级,并将分级标识嵌入到上传申请中,按照所述上传申请中文件分级后的结果选择出对应等级的文件参与者范围;
所述文件参与者选择一个t‑1次多项式,并从所述t‑1次多项式中选择出初始值作为该文件参与者的随机密钥值;
所述文件参与者从所述t‑1次多项式中分别计算出t个文件参与者的随机密钥值,并分发给对应的文件参与者;
将每个文件参与者得到的随机密钥值划分成n份,并向其他n‑1文件参与者共享秘密份额;
从t个及以上秘密份额中恢复出随机密钥值,利用该恢复出的随机密钥值采用SM4算法对文件拥有者上传的文件加密;
将加密后的文件上传IPFS系统中,并生成所述加密后的文件对应的哈希值。
2.根据权利要求1所述的一种分布式加密存储方法,其特征在于,所述文件拥有者根据其自身的规则设定和文件属性对需上传的文件分级包括设置出融合函数,将内函数作为规则设定的第一权重函数 ,外函数作为文件属性的第二权重函数;所述融合函数表示为 ;
其中,x表示上传的文件; 表示规则设定权重模型函数; 表示文件属性权重模型参数; 表示文件拥有者的第i个规则设定信息, 表示为上传的文件的第j个文件属性信息。
3.根据权利要求1所述的一种分布式加密存储方法,其特征在于,所述基于所述上传申请确定出对应的文件参与者之后还包括将所述对应的文件参与者作为文件授权部门,每个对应的文件参与者提供出部门授权码和授权时间,将所述部门授权码和所述授权时间生成一次性授权编号,利用所述一次性授权编号对所述文件标识,并将所述一次性授权编号和对应的文件部门标识保存并输出至外部只读数据库。
4.根据权利要求1所述的一种分布式加密存储方法,其特征在于,在将每个文件参与者得到的随机密钥值划分成n份之前还包括对所述文件参与者进行验证,若验证通过,则将其随机密钥值划分出n份,否则舍弃该文件参与者。
5.根据权利要求1所述的一种分布式加密存储方法,其特征在于,在所述生成所述文件对应的哈希值之后还包括将所述文件对应的哈希值反馈给n个文件参与者,文件参与者将所述文件对应的哈希值作为索引,从IPFS系统中找到对应的文件,该文件参与者确定出其自身对应的秘密份额,当其他t‑1个文件参与者提供出剩余的t‑1个秘密份额后;利用这t个秘密份额重构出密钥,从IPFS系统中下载文件后利用所述密钥完成文件解密。
6.一种分布式加密存储系统,其特征在于,包括:
对象指定模块,用于在文件拥有者提出文件上传申请后,基于所述上传申请确定出对应的文件参与者;所述文件拥有者根据其自身的规则设定和文件属性对需上传的文件分级,并将分级标识嵌入到上传申请中,按照所述上传申请中文件分级后的结果选择出对应等级的文件参与者范围;
分布式密钥生成模块,用于所述文件参与者选择一个t‑1次多项式,并从所述t‑1次多项式中选择出初始值作为该文件参与者的随机密钥值;所述文件参与者从所述t‑1次多项式中分别计算出t个文件参与者的随机密钥值,并分发给对应的文件参与者;将每个文件参与者得到的随机密钥值划分成n份,并向其他n‑1文件参与者共享秘密份额;从t个及以上秘密份额中恢复出随机密钥值;
加密模块,利用该恢复出的随机密钥值采用SM4算法对文件拥有者上传的文件加密;
IPFS系统,用于存储加密后的文件,并生成所述文件对应的哈希值。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1‑5中任一项所述的一种分布式加密存储方法。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1‑5中任一项所述的一种分布式加密存储方法。