一种数据安全存储方法_4

文档序号:8490014阅读:来源:国知局
转步骤引;
[0089] 2)获取R1在Lk冲持有的密钥节点集合CN;
[0090] 3)循环遍历CN取节点n;
[oow] 4)先序遍历w节点n为根节点的索引树,依次获取LJI所有要更新密钥的节点 集合及鉴权链,包括角色鉴权(R1可访问节点满足条件R2不可访问),转至步骤8);
[009引 5)获取R2在Lk2层中不持有的密钥的节点集合BN;
[009引 6)循环遍历BN取节点;
[0094] 7)先序遍历Wn为根节点的索引树,依次所有要更新密钥的节点集合及鉴权链, 包括角色鉴权(节点满足条件R2不可访问R1可访问);
[0095] 8)将需要更新的鉴权信息、节点信息返回给数据库端,数据库端对需要更新的节 点重新进行密钥分发,并形成新鉴权链,对角色R1的所有角色鉴权进行更新,对角色R1重 新分发密钥;
[0096] 9)对设及的安全资源组SCi随机生成新对称密钥k'f,对叶节点重新生成非对称 密钥,并生成再次加密密钥参数kfk'f-i,oldsk-newsk;
[0097] 10)如果文件f策略更新参数flag= 0,由服务器完成密文数据的再次加密,并将 flag更改为1;否则由文件访问功能获取文件f明文,利用新加密密钥k'f生成新密文并上 传到服务器端,将flag置0。
[009引综上所述,本发明的加密方法降低了数据库端维护密钥的复杂度,提高了密钥安 全性;将加密任务转移到服务器执行,降低密钥更新的开销。同时,本发明利用改进的加密 策略尽量降低数据的返回频率,从密钥和数据两个方面节省计算开销和通信开销。
[0099] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可W用通用 的计算系统来实现,它们可w集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可W用计算系统可执行的程序代码来实现,从而,可W将它们存储 在存储系统中由计算系统来执行。该样,本发明不限制于任何特定的硬件和软件结合。
[0100] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者该种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种数据安全存储方法,其特征在于,包括: 在密钥索引树上将资源和用户分别归类为资源组和角色; 利用密钥运算机制保护节点密钥及文件加密密钥; 将再次加密任务从数据库端转移到服务器执行,数据库端只维护新生成密钥的任务。
2. 根据权利要求1所述的方法,其特征在于,在所述将资源和用户分别归类为资源组 和角色之前,该方法还包括: 利用基于鉴权的密钥运算方法构建索引树架构,并为用户分配唯一的角色密钥,构建 基于密钥运算的密钥索引树,所述密钥索引树中,对于父节点\与子节点Vj的密钥kJPkj, 生成鉴权T i, J= kj? h(ki),其中?为异或操作,h为一个单向Hash函数,以使任何持有父 节点密钥的用户,利用计算获得h (k J,并通过计算kj= h (k D ?Tm获得子节点V」的密 钥kj。
3. 根据权利要求1所述的方法,其特征在于,所述再次加密用于将文件密钥再次加密 代价转移到服务器执行,更新叶节点非对称密钥加密的文件密钥;文件密钥密文长度不随 文件再次加密次数的增加而增加,并且使服务器在执行再次加密的过程中无法获取明文的 相关信息; 所述再次加密的公式如下: k?f(gb mod P)r mod P = kf(ga mod P)r mod P kf/k?f(gr mod P)a_b, 式中,P为大素数、z#p为模p的乘法循环群,g为循环群z#p生成元,k f,k' 密钥明 文信息,参数a,b,r满足条件I < a,b,r < P-2,其中a,b为私钥,r为加密随机参数,其 中k' f(gb mod P)1" mod P,kf(ga mod P)1" mod P为加密kf,k' {所得到的密文的后半部分, 前半部分均为g" mod p ;用公钥ga mod P所加密的kf密文转换成使用公钥gb mod P加密 k'fK得到的密文;再次加密密钥公式为 rk = kf/k' f(gr mod P)扩b; 当策略发生改变时,数据库端生成再次加密密钥的相关参数kf/k'f以及a-b,并将相关 参数kf/k' f以及a-b传递给服务器对文件密钥进行重新加密即可完成密钥的更新。
4. 根据权利要求1所述的方法,其特征在于,所述再次加密包括: 参数初始化步骤,数据库端生成系统初始化公开参数大素数P,域Zl生成元g、随机参 数r以及gr mod P ; 文件发布步骤,由密钥树构建模块构建密钥树并实现文件的加密发布功能;在数据库 端新增文件f?到服务器过程中,首先向服务器请求以根节点为起点、路径为文件f?的访问控 制向量ACS (f)的鉴权链,然后利用数据库端的密钥dk和鉴权链计算尾节点密钥vk ;获得 密钥vk之后:首先如果链的长度与ACS (f)长度相等,则直接利用vk加密f的对称密钥kf, 由文件加密模块完成文件f的加密和签名后上传至服务器;否则,根据ACS (f)创建索引树 的分支,同时创建索引树节点和对节点分发密钥由上至下构建鉴权链,并利用根节点的非 对称密钥加密文件密钥kf,最后利用文件加密模块实现文件的加密和签名,将索引树节点 信息、鉴权链、数据及密钥密文上传至服务器;在文件上传过程中:1)字符为1代表其对应 的角色具有该文件的访问权限需要增加对应角色到该节点之间的角色鉴权;2)密钥索引 树叶节点对应的密钥为公私钥对(g x mod p,X),非叶节点是随机产生的对称密钥所以在创 建新的节点时需要判断该节点是否为叶节点;所述文件发布步骤进一步包括,其中访问控 制矩阵经过算法转换成密钥索引树: 以访问控制矩阵ACS(f)和数据库端的对称密钥dk作为输入, 1) 根据ACS (f)获取文件f对应的鉴权链; 2) 计算出链尾节点的密钥vk ; 3) 如果ACS (f)>链长,执行步骤4),否则执行步骤6); 4) 计算出链相对于ACS (f)缺少的控制向量ACS (f)' ; 5) 依次根据ACS(f)'对应的字符生成索引树左右节点,并为新节点分发密钥,最后的 叶节点分发公私钥对,由上至下形成鉴权,如果为右节点则同时生成对应角色与该右节点 的角色鉴权,最后随机生成文件f的对称密钥k f; 6) 调用文件加密模块实现文件和文件密钥的加密和签名,并将新创建的索引树节点、 鉴权链、角色鉴权、文件f及密钥1^的密文上传到服务器;在密钥分布阶段数据库端根据用 户所属的角色,通过安全信道将用户对应的角色密钥rk发送给所有用户,服务器为每个角 色对应的用户分发对应的外层密钥rk' ; 以及密钥分布和获取文件步骤,利用文件访问模块获取文件的明文;用户向服务器发 送用户角色信息R及文件f的访问控制向量ACS(f),服务器返回文件对应的鉴权链以及文 件密钥密文Ckf、文件加密参数flag、文件密文C f;在flag为O的情况下,用户利用持有的 角色密钥解析鉴权链获取加密文件密钥kf的密钥,此密钥为非对称密钥,其中私钥为a,公 钥为g a mod P,进而利用解密算法获取文件密钥kf,最后根据1^获得文件f?的明文;在flag 为1的情况下,首先根据角色外层密钥解密外层加密获取文件的密文,进而获得文件f的密 钥k f,进行解密获取文件f?明文数据。
【专利摘要】本发明提供了一种数据安全存储方法,该方法包括:在密钥索引树中上将资源和用户分别归类为资源组和角色,利用密钥运算机制保护节点密钥及文件加密密钥,将再次加密任务从数据库端转移到服务器执行,数据库端只维护新生成密钥的任务。本发明进一步安全有效地降低云存储安全性能开销,降低数据库端的维护量,且构建高效的密钥和数据更新策略。
【IPC分类】H04L29-06, H04L9-08, H04L29-08
【公开号】CN104811448
【申请号】CN201510191689
【发明人】刘颖
【申请人】成都汇智远景科技有限公司
【公开日】2015年7月29日
【申请日】2015年4月21日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1