CN104901949A - 一种数据加密方法 - Google Patents
一种数据加密方法 Download PDFInfo
- Publication number
- CN104901949A CN104901949A CN201510191253.6A CN201510191253A CN104901949A CN 104901949 A CN104901949 A CN 104901949A CN 201510191253 A CN201510191253 A CN 201510191253A CN 104901949 A CN104901949 A CN 104901949A
- Authority
- CN
- China
- Prior art keywords
- key
- file
- role
- encryption
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据加密方法,该方法包括:构建基于密钥鉴权的密钥索引树;在密钥索引树的基础上对密钥再次加密操作;基于再次加密操作进行文件数据更新。本发明进一步安全有效地降低云存储安全性能开销,降低数据库端的维护量,且构建高效的密钥和数据更新策略。
Description
技术领域
本发明涉及云安全,特别涉及一种用于云存储的数据加密方法。
背景技术
云存储作为一种新兴的服务形式以其弹性配置、按需购买、易于维护等优点成为众多组织的存储选择。然而在云存储模式下,数据脱离了用户的控制范围,这引起了用户对服务器可靠性以及数据安全性的担忧。举例而言,随着智慧医疗的发展,基于云计算的医疗平台被医疗机构广泛使用,医学和医疗中产生的敏感数据需要保证存储安全,此时密文访问控制是云存储模式下提高医务工作者数据机密性和实现细粒度访问控制的重要方法。在人员规模庞大且部门内部人员对资源的访问权限基本一致的组织中,如果依然将每个用户作为单独的访问控制单元会浪费大量的计算资源和存储资源。高安全级别数据可能存在频繁的权限更新操作,此时数据拥有者需从服务器取回数据和密钥密文并更新上传到服务器,并分发新密钥给用户,显然数据再次加密和密钥重新生成给数据库端带来了严重的性能开销,降低系统整体处理效率。因此,如何有效降低庞大用户规模下高安全数据频繁策略更新给数据库端带来的密钥管理和数据更新性能开销是密文访问控制亟待解决的问题。现有的支持动态策略的方案中密钥索引树虽然有效减少了部分权限更新的代价,但用户的密钥维护量代价依旧很高,同时在权限更新情况下,高安全级别数据的更新依然需要由数据库端完成,并未安全且有效地减少数据管理的代价。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种数据加密方法,包括:
构建基于密钥鉴权的密钥索引树;
在密钥索引树的基础上对密钥再次加密操作;
基于再次加密操作进行文件数据更新。
优选地,所述密钥索引树的构建进一步包括:
在构建密钥索引树之前,将访问控制矩阵中访问权限相同的用户归为同一角色,访问对象相同的资源归为同一安全资源组,通过归类减少密钥维护量,并确保角色与安全资源组之间没有用户与文件的交集;所述索引树的叶子节点与一一对应,非叶子节点的密钥是对称密钥用于形成鉴权,叶子节点对应的密钥是非对称密钥,用于加密资源的对称密钥。
优选地所述文件数据更新包括文件权限更新和角色更新,分别由权限更新模块和角色更新模块结合再次加密密钥模块、数据管理模块完成;
针对文件权限更新,文件访问权限更新分为文件访问权限授予和回收,权限回收将文件对应的访问控制矩阵中角色对应数值由1变为0而文件授权则由0变为1;文件访问权限更新用于将文件及文件密钥在不同安全资源组之间切换,故访问权限授予时利用再次加密密钥模块生成再次加密密钥,不需要更新文件密钥,只需更新文件密钥的加密密钥,最后由服务器将文件密钥再次加密成新密钥加密的密钥密文;权限撤销时更新加密文件密钥的加密密钥,利用双层加密策略更新数据密文,所述文件权限更新过程具体如下:
1)以文件索引、文件源和目的访问控制向量、策略更新类型作为输入,首先获取文件源和目的访问控制向量对应的鉴权链;
2)分别获取两条鉴权链的尾节点的密钥;
3)如果目的访问控制向量对应的鉴权链小于目的访问控制向量,执行步骤4),否则执行步骤5);
4)完成对应目的访问控制向量对应的索引树节点和鉴权链等生成,获取该分支对应的叶节点的非对称密钥;
5)如果策略更新类型为0则进行授权,执行步骤6)和步骤7),否则表示撤销,执行步骤8);
6)生成再次加密参数,由服务器端生成再次加密密钥;
7)如果文件策略更新参数为0,由服务器完成密文数据的再次加密;否则获取文件明文,利用新加密密钥生成新密文并上传到服务器端;
8)再次加密模块生成再次加密参数参数,由服务器端生成再次加密密钥。
优选地,该方法还包括,在索引树的基础上对相应节点进行密钥分发、鉴权生成实现索引树的构建,具体步骤进一步包括:
1)在索引树建立后,从根节点开始到叶节点的每一个路径节点分发密钥,每个密钥都是随机产生的对称密钥,数据库端为叶节点对应的每个安全资源组分配一个非对称密钥;
2)根据索引树中各个分支的密钥情况,由上至下依次生成节点鉴权,然后再为每个角色生成角色密钥与密钥集合之间的所有角色鉴权,即生成角色密钥与对应的角色层次右孩子节点之间的角色鉴权;
3)根据加密策略对文件进行加密和签名,并上传到服务器,用户根据鉴权链和自身的角色密钥获取文件的解密密钥以获取明文,在后期的访问策略更新的过程中,相应地更新对应的鉴权链及密钥。
本发明相比现有技术,具有以下优点:
该方法降低了数据库端维护密钥的复杂度,提高了密钥安全性;将加密任务转移到服务器执行,降低密钥更新的开销。同时,本发明利用改进的加密策略尽量降低数据的返回频率,从密钥和数据两个方面节省计算开销和通信开销。
附图说明
图1是根据本发明实施例的数据加密方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
本发明的一方面提供了一种数据加密方法。图1是根据本发明实施例的数据加密方法流程图。针对服务器的可靠性问题,本发明采用主流应用情景服务器,服务器正确执行实施例中所提出的访问控制策略,但是会尝试获取数据的明文信息。同时用户中可能存在恶意的用户,尝试越权访问不属于自己的文件信息。因此,本发明主要是防止服务器获取数据库端数据的明文信息和用户越权访问文件这两种攻击方式。
本发明利用索引树保留其策略更新优势,并在其基础上对资源和用户进行归类为资源组和角色,并结合密钥运算(鉴权)机制进一步降低数据库端维护密钥的复杂度,有效保护节点密钥及文件加密密钥;为了访问控制策略更新带来的密钥更新代价,将加密任务转移到服务器执行,数据库端只需要维护部分密钥的新生成任务,这样大量节省了通信开销和计算开销,弥补了索引树权限撤销过程中密钥更新代价大的缺点。同时,为了提高数据更新的效率,本发明利用双层加密策略尽量降低策略更新中数据的返回频率。本发明分别从密钥和数据两方面节省了计算开销和通信开销,更好地支持访问控制策略的动态更新。
下面具体介绍本发明的3个重要方面:密钥索引树的构建方法、再次加密方案以及文件数据更新的策略。
1密钥索引树的构建
在构建密钥索引树之前,本发明需要将访问控制矩阵中访问权限相同的用户归为同一角色(R),访问对象相同的资源归为同一安全资源组(SC),通过归类减少密钥维护量,并确保角色与安全资源组之间分别没有用户与文件的交集即: 及i≠j。由于此处只是对用户与资源进行归类,因此,转化过程的可靠性与完备性是满足的。
索引树在归类的的基础上可以进一步减少访问控制中的密钥维护量,然而用户依然需要维护多个密钥,在最差的情况下需要维护2|R|-1个密钥。在本发明模型中,索引树叶子节点与SC一一对应,非叶子节点的密钥是对称密钥用于形成鉴权,叶子节点对应的密钥是非对称密钥,用于加密资源的对称密钥,这将有利于减少动态策略中的文件密钥的更新代价。在此基础上,本发明利用基于鉴权的密钥运算方法对索引树进行架构改进,并为用户分配唯一的角色密钥,构建基于密钥运算的密钥索引树。在模型中所有的鉴权信息安全并可公开,数据库端可以将其与资源存放在服务器端减少数据库端的负担,大大提高密钥安全性,同时用户可以根据唯一的角色密钥及相关的鉴权运算出权限范围内所有文件的密钥,减少了用户与数据拥有者数据库端的密钥维护量。
在密钥树中,假设密钥ki和kj分别是父节点vi与孩子节点vj的密钥,则鉴权Ti,j=kj⊕h(ki),其中⊕为异或操作,h为一个单向Hash函数,因此,任何持有父节点密钥ki的用户,利用计算获得h(ki),并通过计算kj=h(ki)⊕Ti,j获得子节点vj的密钥kj。
定义1。密钥运算函数F。密钥集合记为κ,鉴权集合记为T。直接密钥运 算函数F:κ→2κ表示由密钥ki直接运算的所有密钥构成的集合,定义为F(ki)={kj|kj∈κ,Ti,j∈T}。密钥运算函数F*:κ→2κ表示由直接运算或者间接运算的所有密钥集合,定义为F(ki)*={km|km∈κ,kj∈κ,kt∈κ,…,(Ti,j,…,Tt,m)∈T}。
定义2。资源密钥分配函数文件集合记为File和叶节点非对称密钥集合记为κ*,资源密钥分配函数f→κ*表示对任意文件f的对称密钥分配唯一的非对称加密密钥,定义为如果kj∈κ*,f∈SCi,ACSi=Pkj,其中ACSi为f的访问控制向量二进制表示,pkj表示从根节点到对应密钥kj的叶节点路径。
定义3。角色密钥分发ξ。在索引树中角色R在其接入索引树对应的层次上能获得密钥集合为角色密钥分发函数ξ:R→κ表示分配给角色R的用户唯一的密钥ξ(Ri)={k|F(k)=α(Ri)}。因此,角色R可访问的密钥集合可以表示为F*(ξ(Ri))={k|k∈F(ki)*,ki∈α(Ri)}。
定义4。密钥管理模型 定义为一个三元组其为整个系统完成密钥的管理与运算,由密钥运算函数F*、资源密钥分配函数角色密钥分发ξ组成。
密钥管理模型在索引树的基础上对相应节点进行密钥分发、鉴权生成实现索引树的构建,具体步骤如下:
1)在索引树建立后,为了保证模型的有效工作,该模型为从根节点开始到叶节点的每一个路径节点分发密钥,每个密钥都是随机产生的对称密钥。数据库端为叶节点对应的每个安全资源组分配一个非对称密钥。
2)根据索引树中各个分支的密钥情况,由上至下依次生成节点鉴权,然后再为每个角色生成角色密钥与密钥集合之间的所有角色鉴权,即生成角色密钥与对应的角色层次右孩子节点之间的角 色鉴权。
3)根据加密策略对文件进行加密和签名,并上传到服务器。用户可以根据鉴权链和自身的角色密钥获取文件的解密密钥以获取明文。在后期的访问策略更新的过程中,会相应地更新对应的鉴权链及密钥。
密钥管理模型将用户访问控制矩阵表进行角色和资源归类,经过索引树的构建、密钥的分发、文件的加密上传转变密钥树,增强了访问控制能力。通过该方法,数据库端只需要维护根密钥和角色密钥,用户只需维护一个密钥即其所属角色密钥,大大减少了数据库端需要维护的密钥数量,且提高了密钥的安全性。
2再次加密
在密钥树的基础上,为了将访问控制策略动态更新导致的文件密钥再次加密代价转移到服务器执行,本发明利用再次加密算法更新叶节点非对称密钥加密的文件密钥。该算法中文件密钥密文长度不随文件再次加密次数的增加而增加,满足访问控制策略频繁更新的需求,同时服务器在执行再次加密的过程中无法获取明文的相关信息。再次加密的公式如下:
k’f(gb mod P)r mod P=kf(ga mod P)rmod P kf/k’f(gr mod P)a-b,
式中,P为大素数、Z* p为模P的乘法循环群,g为循环群Z* p生成元,kf,k’f为密钥明文信息,参数a,b,r满足条件1≤a,b,r≤P-2,其中a,b为私钥,r为加密随机参数,其中k’f(gb mod P)r mod P,kf(ga mod P)r mod P为加密kf,k’f所得到的密文的后半部分,前半部分均为gr mod p。该算法将用公钥ga mod P所加密的kf密文转换成使用公钥gb mod P加密k’f所得到的密文,这个过程中不会泄露明文信息及相关密钥。再次加密密钥公式为
rk=kf/k’f(gr mod P)a-b。
上述的公式满足再次加密的性质,且能保证加密的文件密钥安全。当策略发生改变时数据库端只需要生成再次加密密钥的相关参数kf·k’-1 f以及a-b,并将其传递给服务器对文件密钥进行重新加密即可完成密钥的更新,减小访问控制策略更新给数据库端带来的负担。
3双层加密策略
上述机制能够有效地降低密钥的管理和维护的复杂度,但由于数据规模大,需采用对称加密,且对称加密没有有效的再次加密的机制,因此,在策略更新的情况下,需要返回对应的数据密文,由数据库端对相关数据进行再次加密,这样会大大地加重数据库端负担。
因此,本发明使用双层加密策略有效地降低了文件大小返回频率及数据库端的数据更新代价。主要思想是通过在权限回收过程中文件权限奇数次变化时,不返回文件数据只通过再次加密机制完成密钥的更新,同时服务器利用角色的外层加密密钥对文件密文再次加密,以防止权限撤销后的用户利用以前保存的密钥获取文件明文;在偶数次的情况下,数据库端获取双层加密的密文进行解密和文件重新加密,同时利用再次加密完成密钥更新,这样减少了文件数据返回的次数,提高了数据库端数据管理和更新代价。
为了实现双层加密,服务器需要为角色集R中的每个角色维护一个外层密钥,并通过安全通道发放给对应的角色,并随着权限撤销次数的变化对角色的外层密钥进行更新。以单个文件f为例描述文件和密钥的更新过程。在文件f奇数次权限回收时,数据库端只需生成文件密钥kf的再次加密密钥rk(文件f的对称密钥不变),并将其发送到服务器完成kf的再次加密。服务器端更新对应撤销角色的外层密钥,并利用对应角色的新外层对称密钥对文件密文进行加密。在文件f偶数次权限回收时,数据库端将数据密文返回,并进行2层解密后重新生 成文件密文,同时生成新文件密钥k’f与旧文件密钥kf的再次加密密钥rk(文件f的对称密钥发生改变),并发送给服务器完成文件f密钥更新。
为了支撑双层加密策略,在文件上传到服务器端之前,数据库端需要将文件数据格式进行相关处理,
具体的处理过程如下:
1)为文件分配一个唯一的ID;
2)为文件随机选择一个对称的加密密钥dk,并对文件进行对称加密,同时利用数据库端的根密钥对文件的Hash值进行签名;
3)将文件在索引树中二进制路径作为文件路径存放,以便用户获取鉴权链,同时将flag作为文件是否有双层加密的标志,如果flag为0表示只有单层加密,如果为1则包含双层加密,将其初始为0,服务器加密一次该值就增1。
通过密钥树、再次加密机制、双层加密策略的有效结合降低了动态策略更新中密钥的更新的复杂度,而且有效地提高了数据更新的效率,降低了数据库端的管理负担。
本发明采用的体系架构包括数据库端、用户端和云服务器,数据库端主要包括密钥树构建模块、文件权限更新模块、数据管理模块、角色更新模块、再次加密密钥模块;用户端主要包括文件访问模块。其中密钥树构建模块根据访问控制矩阵转换成对应的密钥树,并利用密钥运算机制,进一步降低了密钥管理复杂度,提高了密钥的安全性。角色更新模块主要实现用户角色更新,同时处理由此带来的鉴权更新、密钥更新、数据更新。文件权限更新模块主要负责授予或撤销角色R对文件f的访问权限,并更新相关的鉴权、密钥、数据。再次加密模块生成文件密钥kf的再次加密密钥rk,并将其传递给服务器完成文件对称密钥的再次加密,可以有效适应策略频繁更新的场景。
数据管理模块主要实现数据的加密上传,以及根据双层加密策略完成数据更新。用户端主要包含文件访问模块利用用户角色密钥及相关鉴权信息获得解密密钥以获取明文信息。后续的访问流程和策略更改的流程程将主要由上述功能模块完成。
在本发明技术方案中,数据访问过程分为参数初始化,文件发布,密钥分布,获取文件这4个阶段。在数据访问过程中主要通过密钥树构建模块实现密钥树的构建和文件的发布,利用文件访问模块实现文件密文的访问。
在参数初始化阶段,数据库端生成系统初始化公开参数大素数P,域Z* p、生成元g、随机参数r以及gr mod P。在文件发布阶段,由密钥树构建模块构建密钥树并实现文件的加密发布功能。在数据库端新增文件f到服务器过程中,首先向服务器请求以根节点为起点、路径为文件f的访问控制向量ACS(f)的鉴权链,然后利用数据库端的密钥dk和鉴权链计算尾节点密钥vk;获得密钥vk之后分2种情况:首先如果链的长度与ACS(f)长度相等,则说明密钥树中已经存在相应的安全资源组,直接利用vk加密f的对称密钥kf,由文件加密模块完成文件f的加密和签名后上传至服务器。否则,需要根据ACS(f)创建索引树的分支,同时创建索引树节点和对节点分发密钥由上至下构建鉴权链,并利用根节点的非对称密钥加密文件密钥kf,最后利用文件加密模块实现文件的加密和签名,将索引树节点信息、鉴权链、数据及密钥密文上传至服务器。
在文件上传过程中:1)字符为1代表其对应的角色具有该文件的访问权限需要增加对应角色到该节点之间的角色鉴权;2)密钥索引树叶节点对应的密钥为公私钥对(gx 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的对称密钥kf;
6)调用文件加密模块实现文件和文件密钥的加密和签名,并将新创建的索引树节点、鉴权链、角色鉴权、文件f及密钥kf的密文上传到服务器。在密钥分布阶段数据库端根据用户所属的角色,通过安全信道将用户对应的角色密钥rk发送给所有用户,服务器为每个角色对应的用户分发对应的外层密钥rk’。
在获取文件阶段,利用文件访问模块获取文件的明文。用户向服务器发送用户角色信息R及文件f的访问控制向量ACS(f),服务器返回文件对应的鉴权链以及文件密钥密文Ckf、文件加密参数flag、文件密文Cf。在flag为0的情况下,用户利用持有的角色密钥解析鉴权链获取加密文件密钥kf的密钥,此密钥为非对称密钥(私钥为a,公钥为ga mod P),进而利用解密算法获取文件密钥kf,最后根据kf获得文件f的明文。在flag为1的情况下,首先根据角色外层密钥解密外层加密获取文件的密文,进而获得文件f的密钥kf,进行解密获取文件f明文数据。
根据本发明的另一方面,策略更新主要包括文件权限更新,角色更新两种情况。分别由权限更新模块和角色更新模块结合再次加密密钥模块、数据管理模块完成。
针对文件权限更新情况,文件访问权限更新分为文件访问权限授予和回收,权限回收将文件f对应的访问控制矩阵中角色R对应数值由1变为0而文件授权则由0变为1。相对于密钥索引树而言,文件访问权限更新的实质是文件及文件密钥在不同安全资源组之间的切换,故访问权限授予时利用再次加密密钥模块生成再次加密密钥(gr mod P)a-b,此时不需要更新文件密钥kf,只需更新加密kf的密钥a,最后由服务器将文件密钥kf再次加密成新密钥加密的密钥密文;权限撤销时不仅需要更新加密文件密钥kf的密钥a,同时需要将文件密钥kf转变为k’f,最后还需要利用双层加密策略更新数据密文。文件权限更新过程具体如下:
以文件索引ID、文件源和目的访问控制向量sacl,dacl、策略更新类型type作为输入;
1)首先获取sacl,dacl对应的鉴权链schain,dchain;
2)分别获取两条鉴权链的尾节点的密钥oldsk,newsk;
3)如果|dchain|<|dacl|,执行步骤4),否则执行步骤5);
4)利用上述文件发布方法完成对应dacl对应的索引树节点和鉴权链等生成,获取该分支对应的叶节点的非对称密钥newsk’,并赋值给newsk;
5)如果type=0需进行授权,执行步骤6)和步骤7),否则表示撤销,执行步骤8);
6)再次加密模块生成再次加密参数kfk’-1 f,oldsk-newsk,由服务器端生成rk=kf/k’f(gr mod P)a-b;
7)如果文件f策略更新参数flag=0,由服务器完成密文数据的再次加密,并将flag更改为1;否则由文件访问功能获取文件f明文,利用新加密密钥k’f生成新密文并上传到服务器端,将flag改为0;
8)再次加密模块生成再次加密参数参数oldsk-newsk,由服务器端生成rk=(gr mod P)a-b。
针对角色更新情况,数据库端将用户的角色从sr变为dr,服务器根据请求返回所有需要更新节点密钥的鉴权,即返回sr能够访问数据的节点集合与dr不能访问的节点集合交集节点及鉴权链。
鉴权链集合包括以下3种:含叶节点鉴权链集合LT、不含叶节点鉴权链集合NLT、角色鉴权集合RT。首先获得角色dr不能访问节点,而后获得sr能访问的节点集CN和dr不能访问的节点集合BN,获得从根节点出发经过BN和CN到叶节点的鉴权链,将其返回给数据库端。数据库端对鉴权链中CN与BN之间的节点重新分发密钥,并由上至下形成新鉴权链,同时类似权限撤销的方式批量处理鉴权链对应的安全资源组的文件密文及对应的文件密钥密文的更新。
角色更新具体过程如下所示:
1)获取原角色和目的角色R1,R2;如果LR1<LR2,转步骤2),否则转步骤5);
2)获取R1在LR1中持有的密钥节点集合CN;
3)循环遍历CN取节点n;
4)先序遍历以节点n为根节点的索引树,依次获取LR1层所有要更新密钥的节点集合及鉴权链,包括角色鉴权(R1可访问节点满足条件R2不可访问),转至步骤8);
5)获取R2在LR2层中不持有的密钥的节点集合BN;
6)循环遍历BN取节点;
7)先序遍历以n为根节点的索引树,依次所有要更新密钥的节点集合及鉴权 链,包括角色鉴权(节点满足条件R2不可访问R1可访问);
8)将需要更新的鉴权信息、节点信息返回给数据库端,数据库端对需要更新的节点重新进行密钥分发,并形成新鉴权链,对角色R1的所有角色鉴权进行更新,对角色R1重新分发密钥;
9)对涉及的安全资源组SCi随机生成新对称密钥k’f,对叶节点重新生成非对称密钥,并生成再次加密密钥参数kfk’f -1,oldsk-newsk;
10)如果文件f策略更新参数flag=0,由服务器完成密文数据的再次加密,并将flag更改为1;否则由文件访问功能获取文件f明文,利用新加密密钥k’f生成新密文并上传到服务器端,将flag置0。
综上所述,本发明的加密方法降低了数据库端维护密钥的复杂度,提高了密钥安全性;将加密任务转移到服务器执行,降低密钥更新的开销。同时,本发明利用改进的加密策略尽量降低数据的返回频率,从密钥和数据两个方面节省计算开销和通信开销。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (4)
1.一种数据加密方法,其特征在于,包括:
构建基于密钥鉴权的密钥索引树;
在密钥索引树的基础上对密钥再次加密操作;
基于再次加密操作进行文件数据更新。
2.根据权利要求1所述的方法,其特征在于,所述构建基于密钥鉴权的密钥索引步骤之前还包括:
将访问控制矩阵中访问权限相同的用户归为同一角色,访问对象相同的资源归为同一安全资源组,通过归类减少密钥维护量,并确保角色与安全资源组之间没有用户与文件的交集;所述索引树的非叶子节点的密钥是对称密钥,用于形成鉴权,叶子节点对应的密钥是非对称密钥。
3.根据权利要求1所述的方法,其特征在于所述文件数据更新包括文件权限更新和角色更新,分别由权限更新模块和角色更新模块结合再次加密密钥模块、数据管理模块完成;
所述文件权限更新进一步包括文件访问权限授予和回收,权限的回收将文件对应的访问控制矩阵中角色对应数值由1变为0而文件授权则由0变为1;文件访问权限更新用于将文件及文件密钥在不同安全资源组之间切换,使得访问权限授予时利用再次加密密钥模块生成再次加密密钥,不需要更新文件密钥,只需更新文件密钥的加密密钥,最后由服务器将文件密钥再次加密成新密钥加密的密钥密文;权限撤销时更新加密文件密钥的加密密钥,利用双层加密策略更新数据密文,所述文件权限更新过程具体如下:
1)以文件索引、文件源和目的访问控制向量、策略更新类型作为输入,首先获取文件源和目的访问控制向量对应的鉴权链;
2)分别获取两条鉴权链的尾节点的密钥;
3)如果目的访问控制向量对应的鉴权链小于目的访问控制向量,执行步骤4),否则执行步骤5);
4)完成对应目的访问控制向量对应的索引树节点和鉴权链生成,获取该分支对应的叶节点的非对称密钥;
5)如果策略更新类型为0则进行授权,执行步骤6)和步骤7),否则表示撤销,执行步骤8);
6)生成再次加密参数,由服务器端生成再次加密密钥;
7)如果文件策略更新参数为0,由服务器完成密文数据的再次加密;否则获取文件明文,利用新加密密钥生成新密文并上传到服务器端;
8)再次加密模块生成再次加密参数参数,由服务器端生成再次加密密钥。
4.根据权利要求2所述的方法,其特征在于,该方法还包括,在索引树的基础上对相应节点进行密钥分发、鉴权生成实现索引树的构建,具体步骤进一步包括:
1)在索引树建立后,从根节点开始到叶节点的每一个路径节点分发密钥,每个密钥都是随机产生的对称密钥,数据库端为叶节点对应的每个安全资源组分配一个非对称密钥;
2)根据索引树中各个分支的密钥情况,由上至下依次生成节点鉴权,然后再为每个角色生成角色密钥与密钥集合之间的所有角色鉴权,即生成角色密钥与对应的角色层次右孩子节点之间的角色鉴权;
3)根据加密策略对文件进行加密和签名,并上传到服务器,用户根据鉴权链和自身的角色密钥获取文件的解密密钥以获取明文,在后期的访问策略更新的过程中,相应地更新对应的鉴权链及密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510191253.6A CN104901949A (zh) | 2015-04-21 | 2015-04-21 | 一种数据加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510191253.6A CN104901949A (zh) | 2015-04-21 | 2015-04-21 | 一种数据加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104901949A true CN104901949A (zh) | 2015-09-09 |
Family
ID=54034346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510191253.6A Pending CN104901949A (zh) | 2015-04-21 | 2015-04-21 | 一种数据加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104901949A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489996A (zh) * | 2019-07-31 | 2019-11-22 | 山东三未信安信息科技有限公司 | 一种数据库数据安全管理方法及系统 |
CN112106323A (zh) * | 2018-07-12 | 2020-12-18 | 塞克罗斯股份有限公司 | 用于建立安全分层引用系统的方法 |
US11403407B2 (en) | 2016-09-19 | 2022-08-02 | Koninklijke Philips N.V. | Oblivious outsourcing of file storage |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244695A1 (en) * | 2000-06-01 | 2008-10-02 | Jong-Sung Lee | Total system for preventing information outflow from inside |
CN103107992A (zh) * | 2013-02-04 | 2013-05-15 | 杭州师范大学 | 面向云存储加密数据共享的多级权限管理方法 |
CN104144048A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 一种可信云存储环境下的密钥管理方法、装置和系统 |
-
2015
- 2015-04-21 CN CN201510191253.6A patent/CN104901949A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244695A1 (en) * | 2000-06-01 | 2008-10-02 | Jong-Sung Lee | Total system for preventing information outflow from inside |
CN103107992A (zh) * | 2013-02-04 | 2013-05-15 | 杭州师范大学 | 面向云存储加密数据共享的多级权限管理方法 |
CN104144048A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 一种可信云存储环境下的密钥管理方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
张浩,等.: "CACDP:适用于云存储动态策略的密文访问控制方法", 《计算机研究与发展》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403407B2 (en) | 2016-09-19 | 2022-08-02 | Koninklijke Philips N.V. | Oblivious outsourcing of file storage |
CN112106323A (zh) * | 2018-07-12 | 2020-12-18 | 塞克罗斯股份有限公司 | 用于建立安全分层引用系统的方法 |
CN112106323B (zh) * | 2018-07-12 | 2024-03-22 | 塞克罗斯股份有限公司 | 用于存储和读取不信任环境中的存储设备上的数据的方法 |
CN110489996A (zh) * | 2019-07-31 | 2019-11-22 | 山东三未信安信息科技有限公司 | 一种数据库数据安全管理方法及系统 |
CN110489996B (zh) * | 2019-07-31 | 2021-04-13 | 山东三未信安信息科技有限公司 | 一种数据库数据安全管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104811448A (zh) | 一种数据安全存储方法 | |
CN104486315B (zh) | 一种基于内容属性的可撤销密钥外包解密方法 | |
CN107359986A (zh) | 可撤销用户的外包加解密cp‑abe方法 | |
Ali et al. | Lightweight revocable hierarchical attribute-based encryption for internet of things | |
CN104363215B (zh) | 一种基于属性的加密方法和系统 | |
CN105100083B (zh) | 一种隐私保护且支持用户撤销的基于属性加密方法和系统 | |
CN104717297A (zh) | 一种安全云存储方法及系统 | |
CN106059763B (zh) | 云环境下属性基多机构层次化密文策略权重加密方法 | |
CN110247767B (zh) | 雾计算中可撤销的属性基外包加密方法 | |
CN105208007A (zh) | 一种数据共享系统 | |
CN103220291A (zh) | 一种基于属性加密算法的访问控制方法 | |
CN108540280B (zh) | 一种资源高效的安全数据分享方法及系统 | |
CN105915333B (zh) | 一种基于属性加密的高效密钥分发方法 | |
CN103297227A (zh) | 支持灵活且直接撤销的密文策略下基于属性的加密 | |
CN106612169A (zh) | 云环境下一种安全的数据共享方法 | |
CN113434880A (zh) | 一种面向多层级区块链政务数据的高效访问方法与系统 | |
Liu et al. | Dynamic attribute-based access control in cloud storage systems | |
CN104144048A (zh) | 一种可信云存储环境下的密钥管理方法、装置和系统 | |
CN104901949A (zh) | 一种数据加密方法 | |
CN104780174A (zh) | 一种内容安全存取方法 | |
CN104935588B (zh) | 一种安全云存储系统的分层密钥管理方法 | |
CN108763944B (zh) | 雾计算中安全可撤销多中心大属性域属性基加密方法 | |
Zhang et al. | Data owner based attribute based encryption | |
Zheng et al. | Modified Ciphertext‐Policy Attribute‐Based Encryption Scheme with Efficient Revocation for PHR System | |
CN105049449A (zh) | 基于密钥技术的无线传感器网络簇内节点安全通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150909 |
|
RJ01 | Rejection of invention patent application after publication |