[发明专利]一种基于属性基加密的雾协同云数据共享方法有效
| 申请号: | 201910815021.1 | 申请日: | 2019-08-30 |
| 公开(公告)号: | CN110611662B | 公开(公告)日: | 2022-03-25 |
| 发明(设计)人: | 龙浩;霍娜 | 申请(专利权)人: | 徐州工业职业技术学院 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40 |
| 代理公司: | 北京淮海知识产权代理事务所(普通合伙) 32205 | 代理人: | 华德明 |
| 地址: | 221000 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 属性 加密 协同 数据 共享 方法 | ||
1.一种基于属性基加密的雾协同云数据共享方法,其特征在于,具体包括以下步骤:
步骤一:系统初始化;
a1:授权机构通过算法ACgen(U,λ)生成系统公钥PK和系统主密钥MSK;
授权机构在算法ACgen(U,λ)中输入全局属性U和安全系数λ,其中,U={u1,…,un},λ∈Zq,并选择两个阶为p的循环加法群和及一个双线性映射生成元为g,n个随机的群元素对应U中的n个属性,通过公式(1)输出公钥PK;授权机构随机选择元素α∈Zq,通过公式(2)输出系统主密钥MSK;
PK=g,gα,e(g,g)α,h1,…,hn (1);
MSK=gα (2);
a2:授权机构根据公式(3)运行算法CSgen来分别生成云服务提供商的私钥SK、雾节点的公钥PKf和雾节点的私钥SKf,并将公钥PKf发送给用户;
CSgen(PK,MSK,S,ci,fi)→(SK,PKf,SKf) (3);
式中,S为云服务提供商的属性集;
ci为云服务提供商属性;
fi为雾节点属性;
SK=(Y,Yx),x∈S,Y=gαgαt,t为随机数,t∈Zq;
PKf=e(β,g);
SKf=β,其中
步骤二:数据加密;
b1:用户基于共享内容密钥ck加密其共享数据D,加密后的共享数据
b2:用户基于属性基加密方案,用算法加密共享内容密钥,加密后的共享内容密钥其中,ck为共享内容密钥,τ为访问策略,α,s∈Zq,s为加密因子,隐藏在访问控制策略树T中;其中,T由树节点和多项式两部分组成,(i,j)来代表每个树节点,i代表此节点在树的第i层,j代表此节点是第i层的第j个点,叶子节点是树的属性节点,非叶子节点是树门限节点,从上往下,为每一个非叶子节点(i,j)选择一个多项式q(i,j);
用户根据自己的经验和偏好定义个性化的访问策略,首先构建一个待发展的访问控制策略树T′,在T′中,根节点r掌管了整个T′,它的子节点为a和b,分别为个性化访问树Ta的根节点和专业化访问树Tb的根节点;然后从根节点r开始,用户设置qr(·)=s,并选一个点来定义多项式qr,完成T′的遍历后,每一个节点(i,j)都有自己的q(i,j)值,可作为这个节点的加密因子,加密因子s被分发并藏在每一个叶子节点中,这个过程对应了Shamir秘密共享中的密钥分发;
b3:令s1=qa(·),s2=qb(·),即s1为Ta的加密因子,s2为Tb的加密因子,用户根据公式(4)为所有的Ta节点中的元素进行加密,加密后的Ta节点中的元素为Ca(i,j);用户选择随机数ε∈Zq,根据公式(5)来加密s2,加密后的s2为
b4:用户把加密的共享密文发送给雾节点;
步骤三:数据预处理;
雾节点接收到从用户传来的密文数据,通过决策树分类公式(6)计算每一条共享数据的所属专业概率Pi,并为每一条共享数据建立专业条目索引;
式中,Di代表一条共享数据;
H={ID1,ID2,…,IDm}代表专业集合;
步骤四:数据重加密;
d1:得到每一条共享数据的所属专业概率之后,雾节点为这些数据信息定义专业化访问策略;雾节点通过构建Tb补充T′,在Tb中,根节点有n个子节点,每一个节点代表了在数据预处理阶段的所属专业概率,并且管理着对应的专业属性,Tb的叶子节点为专业属性,节点的门限为1,表示当云服务提供商的属性只要能满足一种专业属性时,它就满足了代表的访问策略,然后补充构建的T′形成T;再通过公式(7)解密来获取根节点b的密码因子s2:
d2:基于专业化访问策略来重加密共享数据,同时,雾节点加密每一条数据对应的专业条目索引;从根节点开始,雾节点从上至下遍历整个Tb之后,每一个节点(i,j)都有了自己特定的q(i,j)(·)值,对应该节点的加密因子,b具有n个叶子节点,且每一个节点都对应了其中一个所属专业概率,b的第i个子节点所属专业概率用Pi表示,雾节点加密专业条目索引,雾节点通过公式(8)为每一个所属专业概率计算出对应的专业条目密文
雾节点根据公式(9)为所有的Tb节点中的元素进行加密,加密后的Tb节点中的元素为Cb(i,j);
这样,b节点的加密因子s2隐藏在了Cb(i,j)中,因为Ca(i,j)和Cb(i,j)具有相同的结构,统一他们为C(i,j),因此,加密因子s藏在了C(i,j)中;
d3:重加密之后,雾节点将计算出的新共享密文发送到云服务器;
步骤五:数据解密;
e1:解密操作定义为Dec(CT,S,SK,PK),每一个节点(i,j)的解密结果定义为D(i,j),在解密隐藏在访问树T中的密文时,云服务提供商从下至上运行,解密过程中如果此节点(i,j)代表的属性不在属性集中,Dec(CT,S,SK,PK)=NULL,否则,
e2:如果一个云服务提供商的属性能满足Ta的策略时,能通过公式(10)计算出Deca;如果一个云服务提供商的属性能满足Tb的策略时,能通过公式(11)计算出Decb;
e3:解密ck;在访问控制树T中,根节点r的解密需要a节点的解密和b节点的解密,当一个云服务提供商的属性能满足Ta和Tb时,能通过公式(12)计算出DecT,进而ck就能被解密;
DecT=e(g,g)αts (12);
e4:解密CT;通过对称密钥ck解密CT,进而获得共享数据,因加密因子s由用户随机产生,用户即可以用s和公钥e(g,g)α来获取他的加密数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于徐州工业职业技术学院,未经徐州工业职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910815021.1/1.html,转载请声明来源钻瓜专利网。





