一种分层文件加密方法及系统技术方案

技术编号:29709075 阅读:27 留言:0更新日期:2021-08-17 14:39
本发明专利技术公开了一种分层文件加密方法及系统,该方法通过引入控制属性和单向门相结合构造单向门访问树,在此基础上构造控制属性的密钥子项和密文子项,并重新构造传输节点的密文子项,从而解决了越权访问及协作攻击的问题,实现了多层次文件的安全加密。

【技术实现步骤摘要】
一种分层文件加密方法及系统
本专利技术涉及共享数据加密
,具体涉及一种分层文件加密方法及系统。
技术介绍
近年来,随着互联网的飞速发展,数据的规模变得越来越大。云环境因其既可以提供计算服务,也可以提供存储服务,已成为解决数据共享问题最有前景的应用平台之一。在云环境中,为确保数据不被其他用户或恶意服务器获取和破坏,用户需在共享数据前需要对数据进行加密。基于属性加密(ABE)由于能够保护数据隐私,实现细粒度、一对多和非交互的访问控制而受到广泛的关注。基于密文策略的属性加密(CP-ABE)方案具有较大的灵活性和适用性,因此是一种更为可行的方案。然而在实际应用中,多个共享的数据文件通常具有层次结构关系,尤其是在政府、高校和医疗等领域体现尤为明显。传统的CP-ABE方案只能实现在一个访问策略中加密一个文件,要实现层次结构关系中多个文件的加密则需要构造多个访问策略逐一进行加密,造成加解密效率极低且缺乏灵活性。针对此问题,高效的基于文件分层的CP-ABE(FH-CP-ABE)方案被提出,此方案使用一个集成的访问策略对多个层次文件进行加密,提高了加解密效率。但是此方案无法实现同一层次加密多个文件,同时在解密时,与层次节点相对应的用户可相互解密导致同一层次的加密文件存在泄密风险。针对此问题,拓展的基于文件分层的CP-ABE(EFH-CP-ABE)方案被提出,此方案实现了同一层次加密多个文件,同时解决了层次节点相对应的用户可相互解密的问题,提高了方案的安全性,但是这两个方案在加密过程中分别存在用户越权访问,用户协作攻击的安全问题,影响文件加密的安全性。
技术实现思路
本专利技术要解决的技术问题是现有的文件分层的CP-ABE方案存在用户越权访问及协作攻击的安全性问题。因此,本专利技术提供一种分层文件加密方法及系统,通过构造新的与传输节点相关的密文子项消除用户越权访问和协作攻击的可能性,提高文件加密的安全性。本专利技术通过下述技术方案实现:一种分层文件加密方法,包括:根据待加密分层文件和各待加密分层文件的层次关系构造单向门访问树;基于所述单向门访问树,通过系统公钥对待加密分层文件进行加密,获得加密密文并发送给云服务提供商进行存储;当数据消费者属性集的所有属性满足部分或全部的单向门访问树,则通过系统公钥和数据消费者私钥对所述加密密文进行解密,获得解密后的明文,否则解密失败。进一步地,所述分层文件加密方法还包括系统初始化参数λ,所述分层文件加密方法包括阶为p的群和的生成元g,双线性映射e,即e:所述系统公钥PK的计算过程具体为:基于所述系统初始化参数λ,从中随机选择a1,a2,α,为p阶整数域;从随机选择b,系统公钥子项的计算为:e(g,g)α,并定义两个哈希函数所述系统公钥所述系统主密钥MSK的计算过程具体为:基于所述系统初始化参数λ,计算系统主密钥子项gα,得到系统主密钥,所述系统主密钥MSK={gα}。进一步地,所述分层文件加密方法还包括数据消费者身份信息,所述数据消费者身份信息包括数据消费者标识;所述数据消费者属性集S中包括控制属性Ac,即Ac∈S);所述基于所述系统公钥PK、系统主秘钥MSK和数据消费者属性集S计算数据消费者私钥SK,包括:从中为每个数据消费者选择随机数r表示作为数据消费者标识,根据所述系统公钥PK计算消费者私钥SK的私钥子项K=gαh1r,L=gr,数据消费者属性集S中除控制属性Ac之外的属性对应的私钥子项,即控制属性Ac的私钥子项所述数据消费者私钥进一步地,所述单向门访问树携带有控制属性和单向门,其中,所述数据消费者属性集中包含控制属性,单向门支持用户由高层次向低层次进行解密,阻止用户由低层次向高层次进行解密;所述单向门访问树的具体构造过程具体为:存储文件的层次节点数量与其父节点的门限值(除根节点R)有以下两种关系:当存储文件的层次节点数量小于其父节点的门限值时,即使用户进行协作也无法满足相关的访问结构,因此无需考虑协作问题。当存储文件的层次节点数量大于或等于其父节点的门限值时,用户可通过协作的方式满足相关的访问结构,因此需要考虑协作问题。在构造单向门访问树时,首先根据待加密分层文件cki定义分层访问树,当待加密分层文件cki的层次节点数量大于或等于其父节点的门限值时,使用“AND”门作为单向门替代分层访问树中的传输节点,以传输节点为根节点的子树作为所述单向门的子树,由控制属性生成的节点作为所述单向门的另外一个子节点,生成单向门访问树;其中,所述传输节点为其子节点至少包含一个门限值的节点;若所述传输节点存储有文件,则文件转存在单向门中。将分层访问树拓展为单向门访问树使用“AND”门A′作为单向门替换分层访问树中的传输节点A,子树与控制属性则作为单向门A′的子树,构成单向门访问子树,文件m2则存储在单向门A′中。此时在单向门访问树中,即使满足和的不同用户通过协作向上层进行访问,其仍解密不出上层文件m2。反之,满足子树的用户则可通过控制节点解密出上层文件m2。需要说明的是,拓展后的单向门访问树的访问层次不变,即为3个访问层次,仍为3个访问层次。进一步地,所述基于所述单向门访问树,通过系统公钥对待加密分层文件进行加密,包括:在所述单向门访问树中从上到下从左到右设置k个层次节点ck1,…,ckk,其中,cki表示使用对称加密算法得到的第i个待加密分层文件;从中随机选择随机数s1,s2,…,sk对应各层次节点;基于所述待加密分层文件、单向门访问树和系统公钥,计算层次节点的密文子项和C′i;基于所述单向门访问树非控制属性叶子节点y和系统公钥,计算非控制属性叶子节点的密文子项Cy和Dy;其中,非控制属性叶子节点y∈Y,Y表示单向门访问树中叶子节点的集合;基于所述单向门访问树控制属性叶子节点Ac和系统公钥,计算控制属性叶子节点的密文子项和基于所述单向门访问树传输节点x和系统公钥,计算传输节点的密文子项Cx,k和Ex,k;其中,传输节点x∈X,X为传输节点x的集合,TN-CT(x)={chx,1,…,chx,k}为传输节点x的子节点的门限集合。进一步地,计算所述层次节点的密文子项的公式具体为其中,cki表示第i个层次节点对应的待加密分层文件,e(g,g)α为系统公钥的子项,si表示第i个层次节点对应的随机数;计算层次节点的密文子项Ci′的公式具体为其中,g为系统公钥的子项,si表示第i个层次节点对应的随机数;计算非控制属性叶子节点的密文子项Cy的公式具体为其中,ry表示为非控制属性叶子节点y选择的随机值,g为系统公钥的子项,qy(0)表示非控制属性叶子节点y的秘密值,表示对非控制属性叶子节点y的随机值ry取负后进行哈希计算得到的值;计算非控制属性叶子节点的密文子项Dy的公式具体为其中,ry表示为非控制属性叶子节点y选择的随机值,g为系统公钥的子项;计算控制属性叶子节点的密文子项的公式具体为其中,h1为系统公钥的子项,表示控制属本文档来自技高网
...

【技术保护点】
1.一种分层文件加密方法,其特征在于,包括:/n根据待加密分层文件和各待加密分层文件的层次关系构造单向门访问树;基于所述单向门访问树,通过系统公钥对待加密分层文件进行加密,获得加密密文并发送给云服务提供商进行存储;/n当数据消费者属性集的所有属性满足部分或全部的单向门访问树,则通过系统公钥和数据消费者私钥对所述加密密文进行解密,获得解密后的明文,否则解密失败。/n

【技术特征摘要】
1.一种分层文件加密方法,其特征在于,包括:
根据待加密分层文件和各待加密分层文件的层次关系构造单向门访问树;基于所述单向门访问树,通过系统公钥对待加密分层文件进行加密,获得加密密文并发送给云服务提供商进行存储;
当数据消费者属性集的所有属性满足部分或全部的单向门访问树,则通过系统公钥和数据消费者私钥对所述加密密文进行解密,获得解密后的明文,否则解密失败。


2.根据权利要求1所述的一种分层文件加密方法,其特征在于,所述分层文件加密方法还包括系统初始化参数λ,所述分层文件加密方法包括阶为p的群和的生成元g,双线性映射e,即e:
所述系统公钥PK的计算过程具体为:基于所述系统初始化参数λ,从中随机选择a1,a2,α,为p阶整数域;从随机选择b,系统公钥子项的计算为:e(g,g)α,并定义两个哈希函数所述系统公钥
所述系统主密钥MSK的计算过程具体为:基于所述系统初始化参数λ,计算系统主密钥子项gα,得到系统主密钥,所述系统主密钥MSK={gα}。


3.根据权利要求1所述的一种分层文件加密方法,其特征在于,所述分层文件加密方法还包括数据消费者身份信息,所述数据消费者身份信息包括数据消费者标识;所述数据消费者属性集S中包括控制属性Ac,即Ac∈S);
所述基于所述系统公钥PK、系统主秘钥MSK和数据消费者属性集S计算数据消费者私钥SK,包括:
从中为每个数据消费者选择随机数r表示作为数据消费者标识,根据所述系统公钥PK计算消费者私钥SK的私钥子项K=gαh1r,L=gr,数据消费者属性集S中除控制属性Ac之外的属性对应的私钥子项,即控制属性Ac的私钥子项
所述数据消费者私钥


4.根据权利要求1所述的一种分层文件加密方法,其特征在于,所述单向门访问树携带有控制属性和单向门,其中,所述数据消费者属性集中包含控制属性,单向门支持用户由高层次向低层次进行解密,阻止用户由低层次向高层次进行解密;
所述单向门访问树的具体构造过程具体为:
根据待加密分层文件cki定义分层访问树,当待加密分层文件cki的层次节点数量大于或等于其父节点的门限值时,使用“AND”门作为单向门替代分层访问树中的传输节点,以传输节点为根节点的子树作为所述单向门的子树,由控制属性生成的节点作为所述单向门的另外一个子节点,生成单向门访问树;其中,所述传输节点为其子节点至少包含一个门限值的节点;若所述传输节点存储有文件,则文件转存在单向门中。


5.根据权利要求4所述的一种分层文件加密方法,其特征在于,所述基于所述单向门访问树,通过系统公钥对待加密分层文件进行加密,包括:
在所述单向门访问树中从上到下从左到右设置k个层次节点ck1,…,ckk,其中,cki表示使用对称加密算法得到的第i个待加密分层文件cki;从中随机选择随机数s1,s2,…,sk对应各层次节点;
基于所述待加密分层文件、单向门访问树和系统公钥,计算层次节点的密文子项和C′i;
基于所述单向门访问树非控制属性叶子节点y和系统公钥,计算非控制属性叶子节点的密文子项Cy和Dy;其中,非控制属性叶子节点y∈Y,Y表示单向门访问树中叶子节点的集合;
基于所述单向门访问树控制属性叶子节点Ac和系统公钥,计算控制属性叶子节点的密文子项CAc和
基于所述单向门访问树传输节点x和系统公钥,计算传输节点的密文子项Cx,k和Ex,k;其中,传输节点x∈X,X为传输节点x的集合,TN-CT(x)={chx,1,…,chx,k}为传输节点x的子节点的门限集合。


6.根据权利要求5所述的一种分层文件加密方法,其特征在于:
计算所述层次节点的密文子项的公式具体为其中,cki
表示第i个层次节点对应的待加密分层文件ci,e(g,g)α为系统公钥的子项,si表示第i个层次节点对应的随机数;
计算层次节点的密文子项C′i的公式具体为其中,g为系统公钥的子项,si表示第i个层次节点对应的随机数;
计算非控制属性叶子节点的密文子项Cy的公式具体为其中,ry表示为非控制属性叶子节点y选择的随机值,g为系统公钥的子项,qy(0)表示非控制属性叶子节点y的秘密值,表示对非控制属性叶子节点y的随机值ry取负后进行哈希计算得到的值;
计算非控制属性叶子节点的密文子项Dy的公式具体为其中,ry表示为非控制属性叶子节点y选择的随机值,g为系统公钥的子项;
计算控制属性叶子节点的密文子项的公式具体为其中,h1为系统公钥的子项,表示控制属性叶子节点Ac的秘密值,rAc...

【专利技术属性】
技术研发人员:冯朝胜刘帅南
申请(专利权)人:四川师范大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1