当前位置: 首页 > 专利查询>武汉大学专利>正文

云存储数据加密方法、系统和存储介质技术方案

技术编号:25842701 阅读:38 留言:0更新日期:2020-10-02 14:21
本发明专利技术公开了云存储数据加密方法、系统和存储介质,加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文以使得符合用户访问控制树的解密用户根据可信密钥生成中心为其生成的用户私钥对加密密文进行解密。本发明专利技术取消了双线性对在基于属性加密体系(ABE)中的使用,可以较大程度地提高基于属性加密算法的效率,满足云存储环境下的高效率要求。

【技术实现步骤摘要】
云存储数据加密方法、系统和存储介质
本专利技术属于信息安全
,特别属于云存储数据加密
涉及基于属性加密的云存储数据加密方法和系统。
技术介绍
云存储是在云计算概念上延伸和衍生发展出来的一个新概念,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。云存储服务的思路与理念对于无论企业用户还是个人用户都具有吸引力,但是其中的安全问题也引起了用户的担忧。云存储中的数据加密技术是保证云存储中数据安全的关键技术之一。现有技术虽然能够在一定程度上满足云存储环境中用户访问控制要求,但是此类方法需要进一步实现更加细粒度的用户访问控制,并且加密和解密效率都有待提高。
技术实现思路
本专利技术旨在针对现有技术存在的以上不足,提供了云存储数据加密方法和系统,进一步实现了更加细粒度的用户访问控制,并且加密和解密效率都得到提高。为实现上述技术目的,本专利技术采用了以下技术方案。一方面,本专利技术提供一种云存储数据加密方法,包括以下步骤:加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树,以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文以使得符合用户访问控制树的解密用户根据可信密钥生成中心为其生成的用户私钥对加密密文进行解密。进一步地,可信密钥生成中心初始化公共参数的具体方法包括:可信密钥生成中心初始化椭圆曲线参数(Fp,p,q,P)以及哈希函数H,其中Fp为特征为p的素数域,p为素数,q为基点P的阶,P为椭圆曲线上的基点,其阶为素数;可信密钥生成中心选择随机数s∈{1,2,...,q-1}作为系统主私钥MSK,表示为:MSK=s;根据主私钥MSK计算主公钥MPK,计算公式为:MPK=[s]P;可信密钥生成中心为属性空间S中的每一个属性Ai,随机选择ti∈{1,2,...,q-1},并计算属性i的公钥Ti,计算公式为Ti=[ti]P;可信密钥生成中心选择两个随机数k1,k2,k1∈{1,2,...,q-1},k2∈{1,2,...,q-1},并计算第一辅助公钥K1,计算公式为:K1=[k1]P,计算第二辅助公钥K2,计算公式为:K2=[k2]P;可信密钥生成中心获得{{t1,t2,...,tn},s,k1,k2};可信密钥生成中心公开公共参数{P,p,q,{T1,T2,...,Tn},MPK,K1,K2,H},其中{T1,T2,...,Tn}为属性的公钥集,其对应的属性的随机数集为{t1,t2,...,tn};n为属性空间S的属性个数。再进一步地,可信密钥生成中心为每个用户生成用户私钥的具体方法包括:可信密钥生成中心根据用户属性集合SU中的每一个属性Aj,从属性的随机数集{t1,t2,...,tn}中按顺序确定属性Aj对应的随机数tj,随机选取中间变量其中用户属性集合m为SU中的元素个数,m小于等于n;然后针对每个属性Aj∈SU计算:计算和其中用表示属性Aj所对应的部分私钥;可信密钥生成中心为每个解密用户产生用户属性私钥为:其中U1,U2,...,Um为用户属性的序号。进一步地,加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文的具体方法:加密者选择随机数x∈{1,2,...,q-1}并计算C1=[x]P以及其中M为待加密消息,H为哈希函数,MPK为主公钥;加密用户根据随机数x,计算Y1=[x]K1以及Y2=[x]K2,其中K1为第一辅助公钥,K2为第二辅助公钥然后,令C3={Y1,Y2};获得加密密文CT,表达式如下CT={C1,C2,C3,{C′i}i∈{1,2,...}},其中{C′i}i∈{1,2,...}为访问控制树TREE的叶子节点i对应的密文。再进一步地,加密用户基于预先设定的用户访问控制策略构造用户访问控制树的具体方法包括:步骤一:对于根节点root,令Qroot(0)=x,其中x表示加密时所选的随机数;在此基础上构造一个阶为droot=(thrroot-1)∈{1,2,...,q-1}的多项式:其中droot表示多项式Qroot(v)的阶,thrroot表示根节点root的门限值,表示多项式Qroot(v)的系数且均在{1,2,...,q-1}范围内随机选取的;用Qroot(0)表示多项式Qroot(v)在变量v值取0时对应的多项式的值;对于所有非根节点node,用Qnode(v)表示非根节点node对应的多项式,该多项式阶为该节点所对应的门限值减1以及多项式的系数也是在{1,2,...,q-1}范围内随机选取的步骤二、从根节点root的子节点开始,自上而下层层构造非根节点的多项式,对于非根节点node,应满足Qnode(0)=Qparent(node)(index(node)),其中parent(node)表示非根节点node的父节点,index(node)表示node节点相对于其父节点的索引;步骤三、重复步骤二,直到每一个叶子节点的值Qleaf(0)=Qparent(leaf)(index(leaf))被计算出来,其中index(leaf)表示节点leaf在访问控制树中的唯一编号;最后,令叶子节点leaf所对应的多项式Qleaf(v)=Qleaf(0);步骤四、对于树TREE的所有叶子节点,对应一个属性集合加密者查询对应的属性的公钥集并计算其中属性集合Sl的大小均小于或等于n,i为叶子节点编号。再进一步地,符合用户访问控制树的解密用户根据用户私钥对加密密文进行解密的具体方法包括:用户U收到加密密文CT之后,结合自己拥有的属性集合SU,其中用户属性集合m为SU中的元素个数,m小于等于n,n为属性罕间S的属性个数,其中Sl为根据设定的用户访问控制策略确定的访问控制树TREE中所有叶子节点对应的属性集合,i为叶子节点编号,计算第i个叶子节点对应属性解密过程的中间值Ri,计算公式为:对于SU中每个属于Sl的属性属性Ai,计算表达式为:其中是叶子节点对应属性加密的中间密文;Ai为叶子节点i对应的属性;其中表示属性Ai所对应的解密用户的部分密钥。用户U访问访问控制树,通过拉格朗日插值公式,由与第i个叶子节点leafi同一分支下至少个点得到parent(leafi)节点对应的多项式其中parent(leafi)表示第i个叶子节点leafi的父节点,表示该父节点的门限值;自下而上层层推进,最终计算得到与根节点相关的中间值其中,s为主公钥,Δi表示拉格朗日插值系数,然后计算解密结果第二方面,本专利技术提供了一种云存储数据加密系统,包括:可信密钥生成中心和数据解密模块;所述可信密钥生成中心,用于初始化生成公共参数以及为每个解密用户本文档来自技高网...

【技术保护点】
1.一种云存储数据加密方法,其特征在于,包括以下步骤:/n加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树,以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文以使得符合用户访问控制树的解密用户根据可信密钥生成中心为其生成的用户私钥对加密密文进行解密。/n

【技术特征摘要】
1.一种云存储数据加密方法,其特征在于,包括以下步骤:
加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树,以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文以使得符合用户访问控制树的解密用户根据可信密钥生成中心为其生成的用户私钥对加密密文进行解密。


2.根据权利要求1所述的一种云存储数据加密方法,其特征在于,还包括可信密钥生成中心初始化生成公共参数,具体包括以下步骤:
可信密钥生成中心初始化椭圆曲线参数(Fp,p,q,P)以及哈希函数H,其中Fp为特征为p的素数域,p为素数,q为基点P的阶,P为椭圆曲线上的基点,其阶为素数;
可信密钥生成中心选择随机数s∈{1,2,...,q-1}作为系统主私钥MSK,表示为:MSK=s;根据主私钥MSK计算主公钥MPK,计算公式为:MPK=[s]P;
可信密钥生成中心对于属性空间5的每一个属性Ai,随机选择ti∈{1,2,...,q-1},并计算属性i的公钥Ti,计算公式为Ti=[ti]P;
可信密钥生成中心选择两个随机数k1,k2∈{1,2,...,q-1},并计算第一辅助公钥K1,计算公式为:K1=[k1]P,计算第二辅助公钥K2,计算公式为:K2=[k2]P;
可信密钥生成中心公开公共参数
{P,p,q,{T1,T2,...,Tn},MPK,K1,K2,H},其中{T1,T2,...,Tn}为属性的公钥集,其对应的属性的随机数集为{t1,t2,...,tn};n为属性空间5的属性个数。


3.根据权利要求2所述的一种云存储数据加密方法,其特征在于,可信密钥生成中心为每个解密用户生成用户私钥的具体方法包括:可信密钥生成中心根据用户属性集合SU中的每一个属性Aj,从属性的随机数集{t1,t2,...,tn}中按顺序确定属性Aj对应的随机数tj,随机选取中间变量其中用户属性集合m为SU中的元素个数,m小于等于n;然后,针对每个属性Aj∈SU计算:


其中用表示属性Aj所对应的部分私钥;
可信密钥生成中心为每个解密用户产生用户属性私钥



其中U1,U2,...,Um为用户属性的序号。


4.根据权利要求2所述的一种云存储数据加密方法,其特征在于,加密用户根据基于预先设定的用户访问控制策略构造的用户访问控制树以及可信密钥生成中心初始化生成的公共参数,利用属性加密方式对需加密的数据加密得到加密密文的具体方法如下:
加密用户选择用于加密的随机数x∈{1,2,...,q-1}并计算C1=[x]P以及其中M为待加密消息,H为哈希函数,MPK为主公钥;
加密用户根据随机数x,计算Y1=[x]K1以及Y2=[x]K2,其中K1、K2都为辅助公钥,然后,令C3={Y1,Y2};获得加密密文CT,表达式如下CT={C1,C2,C3,{C′i}i∈{1,2,...}},
其中{C′i}i∈{1,2,...}为用户访问控制树TREE的叶子节点i对应的密文。


5.根据权利要求4所述的一种云存储数据加密方法,其特征在于,加密用户基于预先设定的用户访问控制策略构造用户访问控制树的具体方法包括:
步骤一:对于根节点root,令Qroot(0)=x,其中x表示加密时所选的随机数;在此基础上构造一个阶为droot=(thrroot-1)∈{1,2,...,q-1}的多项式:其中droot表示多项式Qroot(v)的阶,thrroot表示根节点root的门限值,表示多项式Qroot(v)的系数且均在{1,2,...,q-1}范围内随机选取的;用Qroot(0)表示多项式Qroot(v)在变量v值取0时对应的多项式的值;对于所有非根节点node,用Qnode(v)表示非根节点node对应的多项式,该多项式阶为该节点所对应的门限值减1以及多项式的系数也是在(1,2,...,q-1}范围内随机选取的
步骤二、从根节点root的子节点开始,自上而下层层构造非根节点的多项式,对于非根节点node,应满足Qnode(0)=Qparent(node)(index(node)),
其中parent(node)表示非根节点node的父节点,index(node)表示node节点相对于其父节点的索引;
步骤三、重复步骤二,直到每一个叶子节点的...

【专利技术属性】
技术研发人员:何德彪罗敏陈泌文季洪涵马军张宏杰蒙金有贺建伟施佳锋刘红军管荑林琳刘新于灏王振华张双莹梁野邵立嵩王景王春艳苏达李航
申请(专利权)人:武汉大学国家电网有限公司国网宁夏电力有限公司南瑞集团有限公司国网电力科学研究院有限公司北京科东电力控制系统有限责任公司国网山东省电力公司国网浙江省电力有限公司
类型:发明
国别省市:湖北;42

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

1