CN103618609B - 一种云环境下基于属性基加密的及时用户撤销方法 - Google Patents

一种云环境下基于属性基加密的及时用户撤销方法 Download PDF

Info

Publication number
CN103618609B
CN103618609B CN201310647728.9A CN201310647728A CN103618609B CN 103618609 B CN103618609 B CN 103618609B CN 201310647728 A CN201310647728 A CN 201310647728A CN 103618609 B CN103618609 B CN 103618609B
Authority
CN
China
Prior art keywords
user
key
file
cpsp
centerdot
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.)
Active
Application number
CN201310647728.9A
Other languages
English (en)
Other versions
CN103618609A (zh
Inventor
陈丹伟
胡浩然
任勋益
何利文
王志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201310647728.9A priority Critical patent/CN103618609B/zh
Publication of CN103618609A publication Critical patent/CN103618609A/zh
Application granted granted Critical
Publication of CN103618609B publication Critical patent/CN103618609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种云环境下基于属性基加密的及时用户撤销方法,该方法是将密钥分割成两份,一份发送给请求用户,另一份由代理服务器端保存,当请求用户向代理服务器发出访问请求时,代理服务器会对其保存的部分密钥进行重计算,根据其保存的撤销列表选择不同的重计算方法,实现只有合法用户拿到的密钥才能解密;本发明不仅可以实现用户的及时撤销,将密钥更新的工作转移到代理服务器,减轻了授权机构的压力,而且无需为其它合法用户的密钥进行更新,减轻了代理服务器更新密钥的工作量,提高了撤销的效率。

Description

一种云环境下基于属性基加密的及时用户撤销方法
技术领域
本发明涉及计算机云计算安全技术领域,特别涉及一种云环境下基于属性基加密的及时用户撤销方法。
背景技术
云计算是一种通过因特网以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。从产生至今,其具有的诸多优点使其得到了快速的推广和发展,受到越来越多企业和用户的青睐。云计算是利用软件来实现硬件资源的虚拟化管理、调度及应用,大大降低了维护成本且提高了资源的利用率,其具有的良好的灵活性最大限度地为用户节省了开支,用户可以根据自己的需要定制相应的服务,而其具有的高可靠性和安全性也使更多的企业和用户愿意将数据存放到云端。
云存储的流行和发展使得人们对其中数据安全性的关注度越来越高,属性基加密由于其自身的特点非常适合云存储这种大规模用户的访问控制,但目前现有技术中存在云存储用户撤销效率很慢的问题。而本发明能够很好地解决上面的问题。
发明内容
本发明目的是在CP-ABE的基础上,引入密钥分割和代理重密钥技术,解决用户撤销的问题,实现及时,高效的用户撤销。
本发明解决其技术问题所采取的技术方案是:本发明提出了一种云环境下基于属性基加密的及时用户撤销方法,其包括如下步骤:
步骤1:系统参数生成;
可信机构首先随机选择生成元,生成双线性群和双线性映射,生成两对主密钥和公钥,主密钥保留,公钥公开;
步骤2:生成私钥和代理重密钥;
用户向可信机构提供相关信息,申请访问私钥;可信机构根据用户提供的信息分配对应的数据属性,生成私钥SKu并发送给用户;数据属主将文件F的特殊属性集发送给可信机构,可信机构为其生成私钥SKx,并为其生成重密钥rk1,rk2,并将SKx,rk1,rk2发送给CPSP;
步骤3:创建文件;
数据属主为文件F选取属性集构造访问控制树TA,选取特殊属性集构造访问控制树Tx,对文件F进行加密生成密文CT,并发送给CPSP;CPSP为文件选取唯一的ID号,生成此文件的用户撤销列表,并将文件保存到CBS,然后将此ID号返还给数据属主;
步骤4:文件访问;
用户U向CPSP发起对文件F的访问,CPSP判断U是否在用户撤销列表中,若在,调用rk1对SKx重计算得到SKx′:若不在,调用rk2对SKx重计算得到SKx′;CPSP将密文CT,SKx′发送给用户U;用户U利用SKu,SKx′对密文CT进行解密运算;
步骤5:文件撤销;
数据属主删除文件,将文件ID和自己的签名发送至CPSP;CPSP确认签名后删除CBS上的该文件,返回成功给数据属主;
步骤6:用户撤销;
数据属主撤销用户U,将其用户标识发送给CPSP,CPSP将其用户标识添加到用户撤销列表中,将密文版本号Ver加1,返回成功给数据属主;
步骤7:全过程结束。
本发明所述方法中的代理服务器向用户发送其保存的部分密钥前对这部分密钥进行重计算,只向合法用户输出合法的这部分密钥。本发明所述的方法是在云环境下运行。本发明所述方法是基于属性基加密。
本发明利用密钥分割和代理重密钥实现了用户撤销的方法,该方法中的密钥被分割成两份,一份发送给请求用户,另一份由代理服务器端保存,当请求用户向代理服务器发出访问请求时,代理服务器会对其保存的部分密钥进行重计算,根据其保存的撤销列表选择不同的重计算方法,实现只有合法用户拿到的密钥才能解密。本发明不仅可以实现用户的及时撤销,将密钥更新的工作转移到代理服务器,减轻了授权机构的压力,而且无需为其它合法用户的密钥进行更新,减轻了代理服务器更新密钥的工作量,提高了撤销的效率。
双线性配对是设计ABE加密方案时非常关键的工具之一。首先给出双线性配对的定理:选取两个阶为一个大素数p的群G1和G2,定义一个可有效计算的双线性映射e:G1×G1→G2,该映射必须满足:
(1)双线性:一个映射e:G1×G1→G2具有双线性,当e(ga,hb)=e(g,h)ab,对于所有的g,h∈G1和所有的a,b∈Zp
(2)非退化性:存在g,h∈G1,使得e(g,h)≠1。即不能将所有G1×G1的元素都映射到G2中某个相同元素。
访问控制树是ABE方法的核心部分之一,叶节点为属性值,而非叶节点是门限值。假设numz为节点的孩子个数,kz为节点z的门限值。同时我们定义函数parent(z)返回z的父节点,index(z)返回节点z的序号,att(z)返回叶节点代表的属性值。如果一个属性结构满足一个访问控制树,则至少该属性结构的一个属性集满足访问控制树的所有属性。
一、体系结构
图1给出了本发明的系统模型,主要由以下部分组成,云端代理服务器端(cloudproxy service provider),简称CPSP,云端后台存储(cloud background storage),简称CBS以及可信机构,数据属主和数据用户。数据属主将加密后的文件存放在CBS,供数据用户访问共享。为获取CBS数据,数据用户需向CPSP发出请求,得到密文和CPSP重计算后的部分密钥,配合自己的部分密钥进行解密,且只有未被撤销的用户才可以正确解密。这种结构加入了代理服务器,将属性撤销的相关工作从可信机构转移到代理服务器,可信机构只需要为数据用户生成并分发部分密钥。图2给出了对访问控制结构树的改动,引入一组特殊属性集合X,用于存放在代理服务器端部分密钥的生成。
本发明与传统的CP-ABE和传统的版本号用户撤销方法相比较,其主要改进了以下部分:(1)引入特殊属性集X,构造其访问构造树TX,与原访问构造树构成新的访问构造树;(2)将密钥分开管理,一部分直接发送给数据用户,另一部分存放在CPSP,并利用代理重密钥完成这部分密钥在CPSP的重计算;(3)用户撤销后无需对其他合法用户的密钥进行更新,只需CPSP将密文的版本号加一。
本发明在传统CP-ABE基础上,引入一组由数据属主提供的特殊属性,特殊属性构成的访问控制树Tx与原访问控制树TA构成新的访问控制树,从而在原来的一份密钥SKA的基础上又额外增加了一份密钥SKx,且将第二份密钥保存到代理服务器端,而具有了这两份密钥,无法解出明文,只有将SKx进行正确的重计算得到的SKx′,结合SKA,才能够解出明文。本发明的优点是可信机构生成并分发给数据用户SKA以后,无需对SKA进行更新,密文也只需在每次发生用户撤销时更新一次版本号,大大降低了系统由于用户撤销而引发的对所有合法用户密钥更新和密文更新所带来的压力。
本发明引入代理服务器,其主要作用为:(1)保存由特殊属性集合生成的密钥SKx。(2)为每一个文件维护一张用户撤销列表。(3)在对数据用户访问申请作出响应后,利用重密钥对SKx进行重计算,并只向合法用户传出合法的SKx′。(4)在发生用户撤销后对密文的版本号进行升级,之后重密钥计算得到的SKx′中的版本号与当前密文版本号保持一致,以防止被撤销用户利用之前获得的合法SKx′进行解密。引入代理服务器,大大减轻了可信机构的工作量。
二、方法流程
1.系统参数生成
Setup→(PK1,MK1,PK2,MK2)。可信机构首先随机选择生成元为g,阶为p的双线性群G0和双线性映射e:G0×G0=GT,随机选择随机数α1122∈Zp,生成公钥和主密钥:
PK 1 = ( G 0 , g , h 1 = g β 1 , e ( g , g ) α 1 )
MK 1 = ( β 1 , g α 1 )
PK 2 = ( G 0 , g , h 2 = g β 2 , e ( g , g ) α 2 )
MK 2 = ( β 2 , g α 2 )
2.生成私钥和代理重密钥
用户私钥生成方法为特殊属性私钥方法keygen2(MK2,X)。
a.用户私钥生成
用户u获得的属性集为随机选取r∈Zp,并为每一个属性aj选择一个随机值rj∈Zp,调用方法生成用户u的私钥为
SK u = ( D 1 = g ( α 1 + r ) / β 1 , ∀ α j ∈ A ^ : D j = g r · H ( j ) r j , D j ′ g r j )
b.特殊属性私钥生成
X为特殊属性集合,随机选取r0∈Zp,随机选取t∈Zp并保存t,未每一个属性xi∈X选择一个随机值ri∈Zp,当前版本号为Ver,调用keygen2(MK2,X)方法生成特殊属性私钥为
SK x = ( Ver , D 2 = g ( α 2 + r 0 ) / β 2 , ∀ x i ∈ X : D x = ( g r 0 · H ( j ) r i ) t , D x ′ = g r i t )
c.代理重密钥生成
可信机构为每一个文件生成两个不同的代理重密钥,并将其保存到代理服务器端,代理服务器根据数据用户是否为合法用户而有选择的使用其中一个代理重密钥进行重计算。
随机选取t′∈Zp,调用Rekeygen1(MK2)方法生成代理重密钥
rk 1 = ( N = g α 2 · β 2 , t ′ )
使用生成特殊属性私钥时保存的t,调用Rekeygen2(MK2)方法生成代理重密钥
rk 2 = ( N = g α 2 / β 2 , t )
3.创建文件
用户属主调用Encrypt(PK,M,T)方法对密文M进行加密,T为访问控制树,建访问控制数的过程如下:
a.问控制树中的每一个节点选取一个多项式qz,多项式的阶为dz,则dz=kz-1。
b.TA,TX的根节点随机选择s1,s2∈Zp,Y为TA的叶子节点的集合,满足qy(0)=s1,qx(0)=s2,R为TA的根节点,用多项式插值法随机选取qR个值来定义多项式qR
C.对于树上除根节点以外的节点z,另qz(0)=qparent(z)(index(z))然后再随机选择dz个点把所有多项式定义完整。
加密后的密文:
CT = ( Ver , T A , C ~ = M · e ( g , g ) α 1 s 1 e ( g , g ) α 2 s 2 , C 1 = h 1 s 1 , C 2 = h 2 s 2 , ∀ y ∈ Y : C y = g q y ( 0 ) , C y ′ = H ( att ( y ) ) q y ( 0 ) , ∀ x ∈ X : C x = g s 2 , C x ′ = H ( att ( x ) s 2 )
用户属主将加密后的密文发送给CPSP,CPSP给密文分配唯一的ID号,为每一个文件维护一张属性撤销列表,再将密文存储到CBS上,并将此ID号返回给用户属主。
4.文件访问
用户u向CPSP发送请求申请访问文件。CPSP根据自己维护的此文件的属性撤销列表IDrevoked=(uer1,user2...usern)判断用户u是否在列表中,然后对SKx进行重计算:
如果用户u∈IDrevoked,即用户为不合法用户,调用重密钥方法Rekey(rk1,SKx),重计算得到
SK x ′ = ( Ver , D 2 ′ = ( D 2 / N ) t ′ · N = ( g ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ · g α 2 β 2 , D x = ( g r o · H ( j ) r i ) t , D x ′ = g r i t )
如果用户,即用户为合法用户,调用重密钥方法Rekey(rk2,SKx),重计算得到
SK x ′ = ( Ver , D 2 ′ = ( D 2 / N ) t · N = g ( α 2 + t · r 0 ) / β 2 , D x = ( g r 0 · H ( j ) r i ) t , D x ′ = g r i t )
其中版本号Ver与当前密文版本号保持一致。
CPSP将重计算的密钥SKx′,密文CT发送给数据用户。
数据用户首先调用解密方法Decrypt(CT,SKu)如下:
调用T(A)确认SKu中的属性是否满足访问控制树TA,T(A)是从叶节点到根节点的递归方式,定义m为TA中节点。
a.若m为叶节点,定义S为SKu所关联的属性集合,令i=att(m),如果,则DecryptNode(CT,SKu,m)=NULL,若i∈S,则
DecryptNode ( CT , SK u , m ) = e ( D i , C m ) e ( D i ′ , C m ′ ) = e ( g , g ) rq m ( 0 )
b.若m为非叶结点,o为m的孩子节点,定义So为kz个o节点的集合,定义
Fo=DecryptDode(CT,SKu,o),如果没有这样的集合So,则Fo=⊥,否则,计算
其中i=index(o),So′={index(o):o∈So}
= Π o ∈ S x ( e ( g , g ) r · q o ( 0 ) ) Δ i , S x ′ ( 0 ) = Π o ∈ S x ( e ( g , g ) r · q parent ( o ) ( index ( o ) ) ) Δ i , S x ′ ( 0 ) = Π o ∈ S x e ( g , g ) r · q m ( i ) · Δ i , S x ′ ( 0 ) = e ( g , g ) r · q m ( 0 )
c.当m为根节点时
A 1 = F r = DecryptNode ( CT , SK u , r ) = e ( g , g ) r · q R ( 0 ) = e ( g , g ) r · s 1 ,
M 1 = Decrypt ( CT , SK u ) = C ~ / ( e ( C 1 , D 1 ) / A 1 ) = C ~ / e ( g , g ) α 1 s 1 = M · e ( g , g ) α 2 s 2
对于TX访问控制树,数据用户调用Decrypt(CT,SKx′):
首先判断CT中版本号Ver与SKx′中版本号是否相等,若不相等则
A2=DecryptNode(CT,SKx′,x)=NULL
若相等则
A 2 = DecryptNode ( CT , SK x ′ , x ) = e ( D x , C x ) / e ( D x ′ , C x ′ ) = e ( g , g ) r 0 s 2 · t
若为合法用户,令
M 2 = M 1 / e ( C 2 , D 2 ′ ) / A 2 = M · e ( g , g ) α 2 s 2 · A 2 / e ( C 2 , D 2 ′ ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , g ( α 2 + r 0 t ) / β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g , g ) s 2 ( α 2 + r 0 t ) = M
解出明文
若为不合法用户,令
M 2 = M 1 / e ( C 2 , D 2 ′ ) / A 2 = M · e ( g , g ) α 2 s 2 · A 2 / e ( C 2 , D 2 ′ ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , ( g ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ · g α 2 β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , g ( ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ + α 2 β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g , g ) β 2 s 2 · ( ( ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ + α 2 β 2 ) = M · e ( g , g ) s 2 ( α 0 + r 0 t ) - t ′ s 2 ( α 2 + r 0 ) + ( t ′ - 1 ) α 2 s 2 β 2 2
无法解出明文M。
5.文件撤销
用户要撤销文件,只需要将文件ID和自己的签名发送到CPSP,CPSP确认无误后将存储在CBS的该文件删除。
6.用户撤销
当发生用户撤销时,数据属主将此用户标识传递给CPSP,CPSP将此用户标识写入IDrevoked表中,并将密文CT中的版本号Ver加1。
有益效果:
1、本发明实现了动态、高效、安全的用户撤销工作。
2、本发明大大减轻了可信机构的工作量。
附图说明
图1为本发明的系统模型图。
图2为本发明的访问结构树图。
图3为本发明方法流程图。
具体实施方式
下面通过结合说明书附图,进一步说明本发明的技术方案。
实施例1
如图2所示,本发明提出了一种云环境下基于属性基加密的及时用户撤销方法,其包括如下步骤:
步骤1:系统参数生成;
可信机构首先随机选择生成元,生成双线性群和双线性映射,生成两对主密钥和公钥,主密钥保留,公钥公开;
步骤2:生成私钥和代理重密钥;
用户向可信机构提供相关信息,申请访问私钥;可信机构根据用户提供的信息分配对应的数据属性,生成私钥SKu并发送给用户;数据属主将文件F的特殊属性集发送给可信机构,可信机构为其生成私钥SKx,并为其生成重密钥rk1,rk2,并将SKx,rk1,rk2发送给CPSP;
步骤3:创建文件;
数据属主为文件F选取属性集构造访问控制树TA,选取特殊属性集构造访问控制树Tx,对文件F进行加密生成密文CT,并发送给CPSP;CPSP为文件选取唯一的ID号,生成此文件的用户撤销列表,并将文件保存到CBS,然后将此ID号返还给数据属主;
步骤4:文件访问;
用户U向CPSP发起对文件F的访问,CPSP判断U是否在用户撤销列表中,若在,调用rk1对SKx重计算得到SKx′:若不在,调用rk2对SKx重计算得到SKx′;CPSP将密文CT,SKx′发送给用户U;用户U利用SKu,SKx′对密文CT进行解密运算;
步骤5:文件撤销;
数据属主删除文件,将文件ID和自己的签名发送至CPSP;CPSP确认签名后删除CBS上的该文件,返回成功给数据属主;
步骤6:用户撤销;
数据属主撤销用户U,将其用户标识发送给CPSP,CPSP将其用户标识添加到用户撤销列表中,将密文版本号Ver加1,返回成功给数据属主;
步骤7:全过程结束。
本发明所述方法中的代理服务器向用户发送其保存的部分密钥前对这部分密钥进行重计算,只向合法用户输出合法的这部分密钥。本发明所述的方法是在云环境下运行。本发明所述方法是基于属性基加密。
本发明利用密钥分割和代理重密钥实现了用户撤销的方法,该方法中的密钥被分割成两份,一份发送给请求用户,另一份由代理服务器端保存,当请求用户向代理服务器发出访问请求时,代理服务器会对其保存的部分密钥进行重计算,根据其保存的撤销列表选择不同的重计算方法,实现只有合法用户拿到的密钥才能解密。
本发明实施的具体流程为:
1.系统参数生成
Setup→(PK1,MK1,PK2,MK2)。可信机构首先随机选择生成元为g,阶为p的双线性群G0和双线性映射e:G0×G0=GT,随机选择随机数α1122∈Zp,生成公钥和主密钥:
PK 1 = ( G 0 , g , h 1 = g β 1 , e ( g , g ) α 1 ) MK 1 = ( β 1 , g α 1 ) PK 2 = ( G 0 , g , h 2 = g β 2 , e ( g , g ) α 2 ) MK 2 = ( β 2 , g α 2 )
2.生成私钥和代理重密钥
用户私钥生成方法为特殊属性私钥方法keygen2(MK2,X)。
a.用户私钥生成
用户u获得的属性集为随机选取r∈Zp,并为每一个属性aj选择一个随机值rj∈Zp,调用方法生成用户u的私钥为
SK u = ( D 1 = g ( α 1 + r ) / β 1 , ∀ a j ∈ A ^ : D j = g r · H ( j ) r j , D j ′ = g r j )
b.特殊属性私钥生成
X为特殊属性集合,随机选取r0∈Zp,随机选取t∈Zp并保存t,未每一个属性xi∈X选择一个随机值ri∈Zp,当前版本号为Ver,调用keygen2(MK2,X)方法生成特殊属性私钥为 SK x = ( Ver , D 2 = g ( α 2 + r 0 ) / β 2 , ∀ x i ∈ X : D x = ( g r 0 · H ( j ) r i ) t , D x ′ = g r i t )
c.代理重密钥生成
可信机构为每一个文件生成两个不同的代理重密钥,并将其保存到代理服务器端,代理服务器根据数据用户是否为合法用户而有选择的使用其中一个代理重密钥进行重计算。
随机选取t′∈Zp,调用Rekeygen1(MK2)方法生成代理重密钥
rk 1 = ( N = g α 2 · β 2 , t ′ )
使用生成特殊属性私钥时保存的t,调用Rekeygen2(MK2)方法生成代理重密钥
rk 2 = ( N = g α 2 / β 2 , t )
3.创建文件
用户属主调用Encrypt(PK,M,T)方法对密文M进行加密,T为访问控制树,建访问控制数的过程如下:
a.问控制树中的每一个节点选取一个多项式qz,多项式的阶为dz,则dz=kz-1。
b.TA,TX的根节点随机选择s1,s2∈Zp,Y为TA的叶子节点的集合,满足qy(0)=s1,qx(0)=s2,R为TA的根节点,用多项式插值法随机选取qR个值来定义多项式qR
C.对于树上除根节点以外的节点z,另qz(0)=qparent(z)(index(z))然后再随机选择dz个点把所有多项式定义完整。
加密后的密文:
CT = ( Ver , T A , C ~ = M · e ( g , g ) α 1 s 1 e ( g , g ) α 2 s 2 , C 1 = h 1 s 1 , C 2 = h 2 s 2 , ∀ y ∈ Y : C y = g q y ( 0 ) , C y ′ = H ( att ( y ) ) q y ( 0 ) , ∀ x ∈ X : C x = g s 2 , C x ′ = H ( att ( x ) s 2
用户属主将加密后的密文发送给CPSP,CPSP给密文分配唯一的ID号,为每一个文件维护一张属性撤销列表,再将密文存储到CBS上,并将此ID号返回给用户属主。
4.文件访问
用户u向CPSP发送请求申请访问文件。CPSP根据自己维护的此文件的属性撤销列表IDrevoked=(uer1,user2...usern)判断用户u是否在列表中,然后对SKx进行重计算:
如果用户u∈IDrevoked,即用户为不合法用户,调用重密钥方法Rekey(rk1,SKx),重计算得到
SK x ′ = ( Ver , D 2 ′ = ( D 2 / N ) t ′ · N = ( g ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ · g α 2 β 2 , D x = ( g r 0 · H ( j ) r i ) t , D x ′ = g r i t )
如果用户,即用户为合法用户,调用重密钥方法Rekey(rk2,SKx),重计算得到
SK x ′ = ( Ver , D 2 ′ = ( D 2 / N ) t · N = g ( α 2 + t · r 0 ) / β 2 , D x = ( g r 0 · H ( j ) r j ) t , D x ′ = g r i t )
其中版本号Ver与当前密文版本号保持一致。
CPSP将重计算的密钥SKx′,密文CT发送给数据用户。
数据用户首先调用解密方法Decrypt(CT,SKu)如下:
调用T(A)确认SKu中的属性是否满足访问控制树TA,T(A)是从叶节点到根节点的递归方式,定义m为TA中节点。
a.若m为叶节点,定义S为SKu所关联的属性集合,令i=att(m),如果,则DecryptNode(CT,SKu,m)=NULL,若i∈S,则
DecryptNode ( CT , SK u , m ) = e ( D i , C m ) e ( D i ′ , C m ′ ) = e ( g , g ) rq m ( 0 )
b.若m为非叶结点,o为m的孩子节点,定义So为kz个o节点的集合,定义Fo=DecryptDode(CT,SKu,o),如果没有这样的集合So,则Fo=⊥,否则,计算其中i=index(o),So′={index(o):o∈So}
= Π o ∈ S x ( e ( g , g ) r · q 0 ( 0 ) ) Δ i , S x ′ ( 0 ) = Π o ∈ S x ( e ( g , g ) r · q parent ( 0 ) ( index ( 0 ) ) ) Δ i , S x ′ ( 0 ) = Π o ∈ S x e ( g , g ) r · q m ( i ) · Δ i , S x ′ ( 0 ) = e ( g , g ) r · q m ( 0 )
c.当m为根节点时
A 1 = F r = DecryptNode ( CT , SK u , r ) = e ( g , g ) r · q R ( 0 ) = e ( g , g ) r · s 1 ,
M 1 = Decrypt ( CT , SK u ) = C ~ / ( e ( C 1 , D 1 ) / A 1 ) = C ~ / e ( g , g ) α 1 s 1 = M · e ( g , g ) α 2 s 2
对于TX访问控制树,数据用户调用Decrypt(CT,SKx′):
首先判断CT中版本号Ver与SKx′中版本号是否相等,若不相等则
A2=DecryptNode(CT,SKx′,x)=NULL
若相等则
A 2 = DecryptNode ( CT , SK x ′ , x ) = e ( D x , C x ) / e ( D x ′ , C x ′ ) = e ( g , g ) r 0 s 2 · t
若为合法用户,令
M 2 = M 1 / e ( C 2 , D 2 ′ ) / A 2 = M · e ( g , g ) α 2 s 2 · A 2 / e ( C 2 , D 2 ′ ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , g ( α 2 + r 0 t ) / β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g , g ) s 2 ( α 2 + r 0 t ) = M
解出明文
若为不合法用户,令
M 2 = M 1 / e ( C 2 , D 2 ′ ) / A 2 = M · e ( g , g ) α 2 s 2 · A 2 / e ( C 2 , D 2 ′ ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , ( g ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ · g α 2 β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g β 2 s 2 , g ( ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ + α 2 β 2 ) = M · e ( g , g ) α 2 s 2 · e ( g , g ) r 0 s 2 · t / e ( g , g ) β 2 s 2 · ( ( ( α 2 + r 0 ) / β 2 - α 2 β 2 ) t ′ + α 2 β 2 ) = M · e ( g , g ) s 2 ( α 0 + r 0 t ) - t ′ s 2 ( α 2 + r 0 ) + ( t ′ - 1 ) α 2 s 2 β 2 2
无法解出明文M。
5.文件撤销
用户要撤销文件,只需要将文件ID和自己的签名发送到CPSP,CPSP确认无误后将存储在CBS的该文件删除。
6.用户撤销
当发生用户撤销时,数据属主将此用户标识传递给CPSP,CPSP将此用户标识写入IDrevoked表中,并将密文CT中的版本号Ver加1。
实施例2
假设一个数据属主O将文件F存储在CBS,用户U向可信机构申请获得部分私钥,然后向CPSP发出对文件F的访问申请。数据属主对文件执行两个操作:1、撤销用户;2、删除文件。
其具体实施方案为:
(1)可信机构首先随机选择生成元,生成双线性群和双线性映射,生成两对主密钥和公钥,主密钥保留,公钥公开。
(2)数据属主为文件F选取属性集构造访问控制树TA,选取特殊属性集构造访问控制树Tx,对文件F进行加密生成密文CT,并发送给CPSP。
(3)CPSP为文件选取唯一的ID号,生成此文件的用户撤销列表,并将文件保存到CBS,然后将此ID号返还给数据属主。
(4)数据属主将文件F的特殊属性集发送给可信机构,可信机构为其生成私钥SKx,并为其生成重密钥rk1,rk2,并将SKx,rk1,rk2发送给CPSP。
(5)用户向可信机构提供相关信息,申请访问私钥。可信机构根据用户提供的信息分配对应的数据属性,生成私钥SKu并发送给用户。
(6)用户U向CPSP发起对文件F的访问,CPSP判断U是否在用户撤销列表中,若在,调用rk1对SKx重计算得到SKx′:若不在,调用rk2对SKx重计算得到SKx′。CPSP将密文CT,SKx′发送给用户U。
(7)用户U利用SKu,SKx′对密文CT进行解密运算。
(8)数据属主撤销用户U,将其用户标识发送给CPSP,CPSP将其用户标识添加到用户撤销列表中,将密文版本号Ver加1,返回成功给数据属主。
(9)数据属主删除文件,将文件ID和自己的签名发送至CPSP。
(10)CPSP确认签名后删除CBS上的该文件,返回成功给数据属主。
全过程结束。

Claims (2)

1.一种云环境下基于属性基加密的及时用户撤销方法,其特征在于,所述方法包括如下步骤:
步骤1:系统参数生成;
可信机构首先随机选择生成元,生成双线性群和双线性映射,生成两对主密钥和公钥,主密钥保留,公钥公开;
步骤2:生成私钥和代理重密钥;
用户向可信机构提供相关信息,申请访问私钥;可信机构根据用户提供的信息分配对应的数据属性,生成私钥SKu并发送给用户;数据属主将文件F的特殊属性集发送给可信机构,可信机构为其生成私钥SKx,并为其生成重密钥rk1,rk2,并将SKx,rk1,rk2发送给CPSP;
步骤3:创建文件;
数据属主为文件F选取属性集构造访问控制树TA,选取特殊属性集构造访问控制树Tx,对文件F进行加密生成密文CT,并发送给CPSP;CPSP为文件选取唯一的ID号,生成此文件的用户撤销列表,并将文件保存到CBS,然后将此ID号返还给数据属主;
步骤4:文件访问;
用户U向CPSP发起对文件F的访问,CPSP判断U是否在用户撤销列表中,若在,调用rk1对SKx重计算得到SKx′:若不在,调用rk2对SKx重计算得到SKx′;CPSP将密文CT,SKx′发送给用户U;用户U利用SKu,SKx′对密文CT进行解密运算;
步骤5:文件撤销;
数据属主删除文件,将文件ID和自己的签名发送至CPSP;CPSP确认签名后删除CBS上的该文件,返回成功给数据属主;
步骤6:用户撤销;
数据属主撤销用户U,将其用户标识发送给CPSP,CPSP将其用户标识添加到用户撤销列表中,将密文版本号Ver加1,返回成功给数据属主;其中,上述CPSP表示云端代理服务器端,CBS表示云端后台存储;
步骤7:全过程结束。
2.根据权利要求1所述的一种云环境下基于属性基加密的及时用户撤销方法,其特征在于:所述方法中的代理服务器向用户发送其保存的部分密钥前对这部分密钥进行重计算,只向合法用户输出合法的这部分密钥。
CN201310647728.9A 2013-09-09 2013-12-04 一种云环境下基于属性基加密的及时用户撤销方法 Active CN103618609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310647728.9A CN103618609B (zh) 2013-09-09 2013-12-04 一种云环境下基于属性基加密的及时用户撤销方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201310407792X 2013-09-09
CN201310407792.X 2013-09-09
CN201310407792 2013-09-09
CN201310647728.9A CN103618609B (zh) 2013-09-09 2013-12-04 一种云环境下基于属性基加密的及时用户撤销方法

Publications (2)

Publication Number Publication Date
CN103618609A CN103618609A (zh) 2014-03-05
CN103618609B true CN103618609B (zh) 2016-11-30

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011045723A1 (en) * 2009-10-15 2011-04-21 Koninklijke Philips Electronics N.V. Ciphertext-policy attribute-based encryption and re-encryption
WO2011061285A1 (en) * 2009-11-19 2011-05-26 Nagravision S.A. Method for public-key attribute-based encryption with respect to a conjunctive logical expression.
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN102916954A (zh) * 2012-10-15 2013-02-06 南京邮电大学 一种基于属性加密的云计算安全访问控制方法
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN103220291A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于属性加密算法的访问控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011045723A1 (en) * 2009-10-15 2011-04-21 Koninklijke Philips Electronics N.V. Ciphertext-policy attribute-based encryption and re-encryption
WO2011061285A1 (en) * 2009-11-19 2011-05-26 Nagravision S.A. Method for public-key attribute-based encryption with respect to a conjunctive logical expression.
CN102546161A (zh) * 2010-12-08 2012-07-04 索尼公司 可撤销的基于密文政策的属性基密码方法、设备和系统
CN102916954A (zh) * 2012-10-15 2013-02-06 南京邮电大学 一种基于属性加密的云计算安全访问控制方法
CN103179114A (zh) * 2013-03-15 2013-06-26 华中科技大学 一种云存储中的数据细粒度访问控制方法
CN103220291A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于属性加密算法的访问控制方法

Similar Documents

Publication Publication Date Title
CN103618728B (zh) 一种多机构中心的属性加密方法
CN108632030B (zh) 一种基于cp-abe的细粒度访问控制方法
CN104113408B (zh) 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN106375346B (zh) 一种云环境下基于条件广播代理重加密的数据保护方法
CN104363215B (zh) 一种基于属性的加密方法和系统
CN109768858A (zh) 云环境下基于多授权的属性加密访问控制系统及设计方法
CN108833393A (zh) 一种基于雾计算的可撤销数据共享方法
WO2016197680A1 (zh) 面向云存储服务平台的访问控制系统及其访问控制方法
CN112765650A (zh) 一种属性基可搜索加密的区块链医疗数据共享方法
CN108810004A (zh) 基于代理的可撤销多授权中心访问控制方法、云存储系统
CN104468615A (zh) 基于数据共享的文件访问和修改权限控制方法
CN104320393B (zh) 重加密可控的高效属性基代理重加密方法
CN104580205A (zh) 一种云计算中基于cp-abe的固定密文长度代理重加密系统和方法
CN106452735A (zh) 一种支持属性撤销的外包属性加密方法
CN106059768A (zh) 抵抗重加密密钥泄露的属性可撤销加密系统及方法
CN104883254A (zh) 面向云计算平台的密文访问控制系统及其访问控制方法
CN106506155A (zh) 公有云环境下的密文共享方法
CN105100083A (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN108632035A (zh) 一种带有访问控制的不经意传输系统及方法
CN105915333B (zh) 一种基于属性加密的高效密钥分发方法
Peng et al. Comments on “identity-based distributed provable data possession in multicloud storage”
Liu et al. Dynamic attribute-based access control in cloud storage systems
CN105978689A (zh) 一种抗密钥泄漏的云数据安全共享方法
CN105790929B (zh) 一种基于规则冗余消除的加密环境中访问控制方法
Yuan et al. Fine-grained access control for big data based on CP-ABE in cloud computing

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant