CN105071937B - 具有高效属性撤销的密文策略属性基加密方法 - Google Patents
具有高效属性撤销的密文策略属性基加密方法 Download PDFInfo
- Publication number
- CN105071937B CN105071937B CN201510413994.4A CN201510413994A CN105071937B CN 105071937 B CN105071937 B CN 105071937B CN 201510413994 A CN201510413994 A CN 201510413994A CN 105071937 B CN105071937 B CN 105071937B
- Authority
- CN
- China
- Prior art keywords
- attribute
- user
- management person
- node
- private key
- 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
Links
Abstract
本发明公开一种具有高效属性撤销的密文策略属性基加密方法,依次包括以下步骤:(1)建立系统:(2)建立属性管理员:(3)生成用户私钥;(4)加密;(5)解密;(6)属性管理员升级;(7)用户升级;(8)重加密。本发明具有撤销过程涉及用户少、撤销代价小、撤销效率高等优点。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种具有高效属性撤销的密文策略属性基加密方法。
背景技术
作为新的密码学原语,属性基加密方法具有一对多加密的特性,可以用于细粒度访问控制。属性基加密方法主要包括两种类型,分别是密文策略属性基加密方法和密钥策略属性基加密方法。在密文策略属性基加密方法中,密文关联一个访问结构,而用户的私钥关联一个属性集合,只有私钥关联的属性集合满足密文的访问结构的时候,用户才能够正确得解密密文。密钥策略属性基加密方法正好和密文策略属性基加密方法相反。密文策略属性基加密方法较密钥策略属性基加密方法更具有一般性,因为访问结构是由加密者自己定义的。
随着云计算技术的发展,越来越多的敏感数据被存储在云服务器中,云计算的发展面临着云数据安全和数据访问控制等一系列安全问题。在现实中,第三方提供的云存储服务往往不是完全可信任的,把访问控制交给这样的服务器很可能会存在安全隐患。属性基加密方法应用于云存储环境中,不但可以保护云数据的安全,还可以实现细粒度的访问控制。尽管属性基加密方法具有很多优点,在实际应用中仍需要解决一个棘手的问题——撤销。
在属性基加密方法中,每个用户享有多个属性,每个属性也可以被多个用户共享。因此,撤销问题对于属性基加密方法尤为困难,系统中单个用户或者单个属性的撤销都有可能影响到其他用户甚至整个系统。如今,具有撤销能力的属性基加密方法已经广受密码学家的关注。按照撤销的粒度,属性基加密方法的撤销可分为用户撤销、用户属性撤销和系统属性撤销三种;而按照撤销的形式,属性基加密方法的撤销又可分为直接撤销和间接撤销两种。目前,最理想的撤销方法应该具有粒度较细的属性撤销能力,具有直接撤销的撤销过程影响范围小、撤销操作简单等特性。然而,细粒度的属性撤销必然会带来昂贵的计算代价,而操作简单的直接撤销方法又有可能带来安全问题。为了安全性,如今大部分基于属性的加密方法的撤销机制都采用间接撤销方法,同时,为了提高撤销的效率,代理重加密等技术被采用。抗合谋攻击是属性基加密方法应该具备的基本条件。对于具有撤销能力的属性基加密方法而言,不但要能够抵抗有效用户间的合谋攻击,还要能够抵抗有效用户和撤销用户间的合谋攻击。因此,具有撤销能力的属性基加密方法要考虑更多的合谋攻击类型。
目前,现有的属性基加密方法大都较为繁琐,撤销效率也比较低下,不能满足实际需求。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的技术问题,提供一种具有高效属性撤销的密文策略属性基加密方法。
技术方案:本发明的一种具有高效属性撤销的密文策略属性基加密方法,依次包括以下步骤:
(1)建立系统:属性权威机构AA从公钥函数数据库中随机选取一套参数,包括两个阶为素数p的乘法循环群G和GT、群G的生成元g以及双线性对映射e:G×G→GT;根据选取的参数,AA生成系统公开参数PK和主私钥MK,并把系统公开参数PK公开而把主私钥MK私密保存;
(2)建立属性管理员:属性管理员AM以步骤(1)所得系统的公开参数PK和系统属性域为输入,生成属性管理员的公钥MPK、私钥MMK,属性管理员把公钥MPK公开而把私钥MMK私密保存,其中,系统属性域包括系统中所有的属性att1,att2,...,attN,N表示所有属性的个数;
(3)生成用户私钥,由属性权威机构AA和属性管理员AM共同完成:AA利用主私钥MK为该用户计算一个与属性集合S相关联的私钥DSK,并把DSK通过安全信道发送给用户;同时,AM管理一个用户二叉树,利用自己的私钥MMK为用户计算与属性集合S相关联的私钥KEKs,并把KEKs通过安全信道发送给用户,其中,该属性集合S包括用户所持有的属性;
(4)加密,分为本地加密过程和代理重加密过程;数据拥有者DO利用自定义的访问结构对消息M进行加密,加密产生密文CT并上传至属性管理员AM;接着AM根据用户定义的访问结构和所管理的用户二叉树对密文CT执行重加密操作,产生密文CT'和一个头文件Hdr并上传至云存储服务器CSS;
(5)解密,数据使用者DU从云存储服务器CSS下载密文CT'及对应的头文件Hdr,并利用满足CT'所关联的访问结构的私钥DSK和对应的私钥KEKs进行解密,还原消息M;
(6)属性管理员升级,属性管理员AM以系统公开参数PK为输入,生成新的公钥MPK、私钥MMK;
(7)用户升级,属性管理员AM为撤销所影响到的用户更新相应的KEK;
(8)重加密,属性管理员AM对撤销所影响到的密文进行重加密操作。
进一步的,所述步骤(1)中,属性权威机构AA从公钥函数数据库中随机选取参数为α和β后,可得到主私钥为MK={β,gα},和公开参数此处表示整数集合{1,2,…,p-2,p-1}。
进一步的,所述步骤(2)中,为每一个属性随机选取并计算最终得到私钥为公钥为其中
进一步的,所述步骤(3)具体包括以下步骤:
(31)属性授权机构AA为用户产生私钥DSK,同时产生中间状态的KEKs:
(311)为每一个属性atti∈S随机选取S表示用户的属性集合,
(312)随机选取并计算私钥DSK,
(313)为每一个属性atti∈S计算并且把{atti,keki}添加到私钥KEKs中,
(32)属性管理员AM利用自己的私钥MMK为用户更新KEKs;
(321)属性管理员AM管理一个用户二叉树,在该用户二叉树中,每个叶子节点对应一个用户,而每个非叶子结点绑定一个唯一的值vj,并表示该节点唯一的序列码为sequence(vj),每个用户都享有一条唯一的路径:从对应的叶子节点到根节点,该用户的私钥KEKs也将根据此路径中的值计算所得,其中,vj的唯一性可以通过哈希函数等技术来实现;
(322)属性管理员AM为用户的每一个属性atti∈S定义一个函数node(Gi),该函数表示最小能够覆盖该属性群Gi中所有用户的节点集合;
(323)属性管理员AM为用户的每一个属性atti∈S执行一个取交集ηi=node(Gi)∩path(uk)的操作,如果AM推出算法;否则AM为每一个vj∈ηi计算并用{atti,sequence(vj),keki,KEKi}替换KEKs中的{atti,keki};
(33)属性权威机构把DSK和KEKs通过安全信道发送给用户。
进一步的,所述步骤(4)的具体步骤为:
(41)数据拥有者DO定义一个树形访问结构并产生中间密文CT;
(411)数据拥有者DO随机选择并计算e(g,g)αs和gβs;
(412)数据拥有者DO为访问结构中的根节点R随机选择一个dR次多项式qR,其中dR=kR-1,并且qR(0)=s,kR表示根节点R的秘密分享门限值;
(413)数据拥有者DO为访问结构中的除根节点R的任意节点x选择一个dx次多项式qx,其中dx=kx-1,并且qx(0)=qparent(x)(index(x)),函数parent(x)返回节点x的父节点,函数index(x)返回节点x在其父节点中的次序,依此类推,最终为访问结构中的每一个叶子结点y选择一个dy次多项式qy,其中dy=ky-1,ky表示节点y的秘密分享门限值,并且qy(0)=qparent(y)(index(y)),qy(0)作为秘密值参与加密运算,kx表示节点x的秘密分享门限值;
(414)最后,数据拥有者DO产生密文如下:
其中,Y表示访问结构中叶子节点的集合;
(42)属性管理员AM重加密中间密文CT产生CT'和一个头文件Hdr;
(421)属性管理员AM随机选择并且重加密密文如下:
(422)属性管理员AM为访问结构中的每一个属性求node(Gi);
(423)属性管理员AM计算头文件如下:
其中,
(424)属性管理员AM上传<Hdr,CT'>到CSS;
(43)属性管理员AM上传CT'和Hdr到云存储CSS中。
进一步的,所述步骤(5)的具体过程为:(51)解密者调用一个递归解密函数DecryptNode(CT',Hdr,DSK,KEKs,x),其中,CT'是一个关联了访问结构的密文,Hdr是重加密产生的头文件,x是访问结构中的节点;
(52)若x为叶子结点,令atti=att(x),函数att(x)返回节点x所对应的属性,如果atti∈S,则计算如下:
否则,令Fx=⊥;
(53)若x为非叶子结点,为x的所有子节点z调用函数DecryptNode(CT',Hdr,DSK,KEKs,z),并保存其输出Fz;令Sx表示一个kx长度的集合,该集合保存满足条件Fz≠⊥的节点z,如果这样的集合存在,则计算如下:
否则,令Fx=⊥;
(54)依此类推,如果属性集合S满足访问结构则递归函数会正确执行FR=DecryptNode(CT',Hdr,DSK,KEKs,R)=e(g,g)r·s,否则,令FR=⊥;
(55)若FR≠⊥,解密者恢复消息如下:
进一步的,所述步骤(6)包括以下内容:
(61)属性管理员AM为每个属性随机选取而对于每个属性设置τi=1,其中表示要撤销的属性集合,
(62)属性管理员AM为每个属性计算和ti·τi,更新后的管理员密钥为:
进一步的,所述步骤(7)包括以下内容:
(71)属性管理员AM为每个属性更新属性群为同时函数node()对应的输出为
(72)属性管理员AM为每个用户执行一个取交集运算:并计算最后,用户KEKs中的{atti,sequence(vj),keki,KEKi}被替换为
进一步的,所述步骤(8)的具体过程为:
(81)属性管理员AM随机选取并为每个属性随机选择
(82)属性管理员AM更新重加密密文如下:
(83)属性管理员AM更新头文件如下:
其中,atti=att(y)。
有益效果:本发明中设有属性群,属性撤销操作由专门的属性管理员执行,单个用户属性的撤销只影响该属性群中的用户,并非系统中所有用户,至此能够极大的缩小撤销工作涉及的范围;同时,撤销过程只更新用户的属性群密钥KEKs而非属性密钥DSK,不必引起整个系统的初始化,具有撤销过程涉及用户少、撤销代价小、撤销效率高等优点。
另外,鉴于属性基加密方案具有一次加密多人解密、细粒度访问控制等特性,本发明可用于云存储环境中实现细粒度访问控制和数据保护;并且本加密方法安全性高,可以抵抗多类型用户之间的合谋攻击。
附图说明
图1为实施例的系统结构示意图;图2为实施例的流程示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例:
如图1和图2所示,本实施例的具体过程如下:
步骤一、系统建立
属性权威机构AA从公钥函数数据库中随机选取一套参数α和β,包括两个阶为素数p的乘法循环群G和GT、群G的生成元g以及双线性对映射e:G×G→GT。其中,生成元g为:
g=4825753236114302700181009551893401628723199415732972015970622054593498921292879986485027569312907193857799469116963683969768920235934912260481192099662160,4048850100117591308690978073403290894218008271572038432682891321098549039994467134474260108405016782650931484816763740889273827461896634534759269691983847,0
根据选取的参数α和β,AA生成系统公开参数PK和主私钥MK,并把系统公开参数PK公开而把主私钥MK私密保存,其中,系统公开参数PK和主私钥MK按照如下方式生成:
(1)属性授权机构随机选取:
a=268683809349436233868678090370525653782654387897
β=257726037956754158576076626975224804707008707672
(2)属性授权机构计算:
gα=3168757938896485898170686912736505325884409930481127416352007597193975510065801853149656483750413211645806931884546975067613583067713993390427569613133940,3493166277269304458971874015499162027211922555651310594884553832918609852561100057572009705881775003655679838720063470245620711005789263940366853172578185,0
gβ=6598697818739787172099506717776681446284679050318700246196204238291897862221133292843781662689032921067149990699240511931291008568095905406252445840367318,7102807029912125263480718796840897584681381987502341565402795211057426573867284578932245904115458042185733216323374396371139303012834202580334014761649683,0
e(g,g)α={x=5664487162157174591239006945252772651321315020848095336281065450219234200744285284253164269437145428025093907596683374000013388411418158708530533744046325,y=6575134581390010182225483575847687797702713853946193169774554534446977789186244914157389850824783647205305336429260764842776400646026053160081609224669983}
主私钥为MK={β,g α},公开参数为PK={G,g,gβ,e(g,g)α},g 1/β只向用户群管理者公开,用于执行用户撤销操作。
步骤二、建立属性管理员
属性管理员AM以系统公开参数PK和系统属性域为输入,生成撤销管理员的公钥MPK、私钥MMK,属性管理员把MPK公开而把MMK私密保存。其中,公钥MPK、私钥MMK按照如下方式生成:
(1)属性管理员AM为每一个属性(表示系统属性域,1≤i≤N)随机选取并计算为了方便说明,此处把属性域大小设定为1,并且:
ti=707684841314271134051075438495618869915547429587
Ti=7417114627692263089996462891748194505096769376457085774407374133583004732232010327487130653639314183588191944493682776409857594971893128794825322299173707,7238551784545685424486009546508175678797793827833906815437605474409869756728199266453074344213511154540178108702248856936700353364978463010841609593009326,0
(2)最终私钥为公钥为
步骤三、生成用户私钥
用户向TA提交属性集合S(为了便于说明,本次运行默认属性集合S={college:computer})。TA收到用户的申请后,首先为用户产生属性私钥DSK和中间状态的属性群私钥KEKs。当用户收到私钥DSK和KEKs后,把KEKs通过安全信道发送AM。AM把中间属性群私钥KEKs转变成完整私钥后返回给用户。用户私钥DSK及KEKs按照如下方式生成:
(1)属性授权机构AA验证用户的属性集合并为每一个属性atti∈S(S表示用户的属性集合)随机选取因为本次操作中只有一个属性,因此:
ri=481838556396405504956830056295560852228687032954
(2)属性权威机构AA随机选取:
r=384216580656861441847117861977805266938532594058
并且计算:
D=4236266382886486562652843082158696974741064254378447554310265938503990915874202163739579844729305292369166728626565680275644702256833549613500399293323028,258984516530680287105392260419224569869822392934390797523711676852337730323609544998215555656530616991654169943337224561512199966523951739537752303602338,0
Di=4282876046248519368380362183378523742869301622894936770635911989739052549038884951433229148601339073964934877876130320648869787276028522167388157278158903,8272969831323509181561339550801384316192904470917870753899788011506791323007958661460275982174700608398679959693280864141774602354042949231925180606469738,0
Di'=8392327473417462399765176152013923983627645399790828150346400867803820600748110352591338931908073226065403098743144398141324849150475779859861603265673315,3303510203309867659897049126501503538605364288162052045877371498529045864463322480240968453055293981201393794901272853511755756987910321974303363916074330,0
(3)属性权威机构AA为每一个属性计算
keki=6007653391504094872487485440832723104582531299717092005361171107676585992804488920733123985011744357305430263019520402751764553703472241136242914077522384,7619811598458510915008916998681907289570327663748297910161166630023547800009394164274779457265011517408316119582881283321481818019839397169205247504409972,0
并且把{atti,keki}添加到KEKs中;
(4)属性权威机构AA把DSK和KEKs通过安全信道发送给用户;
(5)属性管理员AM管理一个用户二叉树(如图1),该用户二叉在树中,每个叶子节点对应一个用户,而每个非叶子结点绑定一个唯一的值vj,并定义该值唯一的序列码为sequence(vj)。为了方便说明,本实施例中设定树中只有一个节点,其中:
vj=414926676236794460712093640130764380510202146650
(6)属性管理员AM为用户的每一个属性定义一个函数node(Gi),该函数输出一个节点集合,此集合为最小的能够覆盖该属性群Gi中所有用户的节点集合;
(7)属性管理员AM为用户的每一个属性atti∈S执行一个取交集
ηi=node(Gi)∩path(uk)的操作。如果AM退出算法。否则,为每一个vj∈ηi计算
并且用{atti,sequence(vj),keki,KEKi}替换用户KEKs中的{atti,keki}。
步骤四、加密
数据拥有者DO利用自定义的访问结构(为了便于说明,本次运行中访问结构默认为)对消息M进行加密。
消息M为群GT中的元素:
M={x=3297319816432982445586546899573287445549204705061808601308981853709051218936694773872302798979834700476299647284109014869893061512941078648446997467605708,y=5896552343627384333983150300705088558854608335228669658502815335025955109892647861442817714723518133821153015472793921237485167174955721501277306430615661}
其中,密文CT按照如下方式生成:
(1)数据拥有着随机选择
s=503204300178849847498467736330983298222823018264
为访问结构中的根节点R随机选择一个dR次多项式qR,其中dR=kR-1(kR表示根节点R的秘密分享门限值),并且qR(0)=s2;
(2)为访问结构中的除根节点R的任意节点x选择一个dx次多项式qx,其中dx=kx-1(kx表示节点x的秘密分享门限值),并且qx(0)=qparent(x)(index(x))(函数parent(x)返回节点x的父节点,函数index(x)返回节点x在其父节点中的次序);
(3)依此类推,最终为访问结构中的每一个叶子结点y选择一个dy次多项式qy,其中dy=ky-1(ky表示节点y的秘密分享门限值),并且qy(0)=qparent(y)(index(y)),qy(0)作为秘密值参与加密运算;
(4)数据拥有者计算:
C0={x=2564128353102457012379138471724850643370489971744414604690567129486261083644152699700715751461953849996309424290061100139947591920737891798816646152408238,y=2010923351586042018369880709289524729289342679608233301782739540018755707828510033684416364380037233898294385996527612186859870861120841119298609641694878}
C1=3405386311496392158621514229552284922564187800289601686550668512239426324021338668200014009219426006303253166552990787673349086861506965626364612321927300,1132114767760093617911380264005115403358358516810533676301596591887810493692316404635484777017192887656006747022026213270902977916348359491694996662170442,0
Cy=3106499201432536170452691658978895293038936186693821781333763567363256168020477737737169815250893895089655909854120720462734969748511993855820539933709615,1746334901295607714116895693788057815658692162064239849935019617186137726114306137009572507093097452473844648867695612589290626749937167471639193601210361,0
C'y=132172115622265766592665181183645345138,0,1
最终密文为
(5)数据拥有者把CT上传至属性管理员,属性管理员执行重加密操作并生成CT'。属性管理员首先随机选取:
ky=285769631886530631779313788560723273625740493514
然后计算:
最后,重加密密文如下:
(6)属性管理员AM为访问结构中的每一个属性atti求node(Gi)(本次执行中,只包含一个属性);
(7)属性管理员AM计算:
最后,头文件如下:
(8)属性管理员AM上传<Hdr,CT'>到CSS。
步骤五、解密
数据使用者DU从云存储服务器CSS下载密文<Hdr,CT'>,并利用满足CT'关联的访问结构的私钥DSK和持有的属性群私钥KEKs进行解密,还原消息M。其中,消息M按照如下方式生成:
(1)解密者调用一个递归解密函数DecryptNode(CT',Hdr,DSK,KEKs,x),其中,CT'是一个关联了访问结构的密文,Hdr是重加密产生的头文件,DSK是一个关联了属性集合S的私钥,KEKs是撤销管理员发布给用户的私钥,x是访问结构中的节点;
(2)若x为叶子结点,令atti=att(x)(函数att(x)表示x所对应的属性),如果atti∈S,则计算如下:
否则,令Fx=⊥;
(3)若x为非叶子结点,为x的所有子节点z调用函数DecryptNode(CT',Hdr,DSK,KEKs,z),并保存其输出Fz。令Sx表示一个kx长度的集合,该集合保存满足条件Fz≠⊥的节点z,如果这样的集合存在,则计算如下:
否则,令Fx=⊥;
(4)依此类推,如果属性集合S满足访问结构则递归函数会正确执行FR=DecryptNode(CT',Hdr,DSK,KEKs,R)=e(g,g)r·s,否则,令FR=⊥;在本次执行中,由于访问结构只包含一个属性,因此:
FR=Fx={x=1592740818716659986570908932176373798661380645435895195402800521004173281591171005628993443105838577035270198274827527867949583165671391369057158131476578,y=8015087013980489472859817500012875426929269962473805358000468266738093425340445213302192306952146254554223240741312108629255780828275456683880956527492329}
(5)若FR≠⊥,解密者恢复消息如下:
步骤六、撤销管理员升级
属性管理员AM以系统公开参数PK为输入,生成新的公钥MPK'、私钥MMK'。其中,新的公钥MPK'、私钥MMK'按照如下方式生成:
(1)属性管理员AM为每个属性(表示要撤销的属性集合,在本次执行中,只包含一个属性)随机选取
τi=436451106884831057915034189761126282793255757309
而对于每个属性设置τi=1;
(2)属性管理员AM为每个属性算
ti·τi=474921289807020704131332786081438966452872227847
更新后的管理员密钥为:
步骤七、用户升级
属性管理员为用户升级KEKs为按照如下方式生成:
(1)属性管理员AM为每个属性(在本次执行中,只包含一个属性)更新属性群为(在本次执行中,只包含一个用户),同时函数node()对应的输出为
(2)属性管理员AM为每个用户执行一个取交集运算:
并计算
最后,用户KEKs中的{atti,sequence(vj),keki,KEKi}被替换为步骤八、重加密
属性管理员要对存储在云服务器中的相关密文进行重加密,计算新的密文和新的头文件其中,和按照如下方式生成:
(1)属性管理员AM随机选取
s'=659616870452807772658307747117353204060160742228
并为每个属性(本次执行中,只包含一个属性)随机选择
(2)属性管理员AM更新重加密密文如下:
其中:
(3)属性管理员AM更新头文件如下:
其中
Claims (9)
1.一种具有高效属性撤销的密文策略属性基加密方法,其特征在于:依次包括以下步骤:
(1)建立系统:属性权威机构AA从公钥函数数据库中随机选取一套参数,包括两个阶为素数p的乘法循环群G和GT、群G的生成元g以及双线性对映射e:G×G→GT;根据选取的参数,AA生成系统内所有参与者均可见的系统公开参数PK和主私钥MK,并把系统公开参数PK公开而把主私钥MK私密保存;
(2)建立属性管理员:属性管理员AM以步骤(1)所得系统的公开参数PK和系统属性域为输入,生成属性管理员的公钥MPK、私钥MMK,属性管理员把公钥MPK公开而把私钥MMK私密保存,其中,系统属性域包括系统中所有的属性att1,att2,...,attN,N表示所有属性的个数;
(3)生成用户私钥,由属性权威机构AA和属性管理员AM共同完成:AA利用主私钥MK为该用户计算一个与属性集合S相关联的私钥DSK,并把DSK通过安全信道发送给用户;同时,AM管理一个用户二叉树,利用自己的私钥MMK为用户计算与属性集合S相关联的私钥KEKs,并把KEKs通过安全信道发送给用户,其中,该属性集合S包括用户所持有的属性;
(4)加密,分为本地加密过程和代理重加密过程;数据拥有者DO利用自定义的访问结构对消息M进行加密,加密产生密文CT并上传至属性管理员AM;接着AM根据用户定义的访问结构和所管理的用户二叉树对密文CT执行重加密操作,产生密文CT'和一个头文件Hdr并上传至云存储服务器CSS;
(5)解密,数据使用者DU从云存储服务器CSS下载密文CT'及对应的头文件Hdr,并利用满足CT'所关联的访问结构的私钥DSK和对应的私钥KEKs进行解密,还原消息M;
(6)属性管理员升级,属性管理员AM以系统公开参数PK为输入,生成新的公钥MPK、私钥MMK;
(7)用户升级,属性管理员AM为撤销所影响到的用户更新相应的KEK;
(8)重加密,属性管理员AM对撤销所影响到的密文进行重加密操作。
2.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(1)中,属性权威机构AA从公钥函数数据库中随机选取参数为α和β后,可得到主私钥为MK={β,gα},和公开参数PK={G,g,gβ,g1/β,e(g,g)α},此处表示整数集合{1,2,…,p-2,p-1}。
3.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(2)中,为每一个属性随机选取并计算最终得到私钥为公钥为其中
4.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(3)具体包括以下步骤:
(31)属性授权机构AA为用户计算私钥DSK,同时产生中间状态的KEKs:
(311)为每一个属性atti∈S随机选取S表示用户的属性集合,
(312)随机选取并计算私钥DSK,
(313)为每一个属性atti∈S计算并且把{atti,keki}添加到私钥KEKs中,
(32)属性管理员AM利用自己的私钥MMK为用户更新步骤(31)中产生的KEKs;
(321)属性管理员AM管理一个用户二叉树,在该用户二叉树中,每个叶子节点对应一个用户,而每个非叶子结点绑定一个唯一的值vj,并表示该节点唯一的序列码为sequence(vj),每个用户都享有一条唯一的路径:从对应的叶子节点到根节点,该用户的私钥KEKs也将根据此路径中的值计算所得,其中,vj的唯一性通过哈希函数技术来实现;
(322)属性管理员AM为用户的每一个属性atti∈S定义一个函数node(Gi),该函数表示最小能够覆盖该属性群Gi中所有用户的节点集合;
(323)属性管理员AM为用户的每一个属性atti∈S执行一个取交集ηi=node(Gi)∩path(uk)的操作,如果AM推出算法;否则AM为每一个vj∈ηi计算并用{atti,sequence(vj),keki,KEKi}替换KEKs中的{atti,keki};
(33)属性权威机构把DSK和KEKs通过安全信道发送给用户。
5.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(4)的具体步骤为:
(41)数据拥有者DO定义一个树形访问结构并产生中间密文CT;
(411)数据拥有者DO随机选择并计算e(g,g)αs和gβs;
(412)数据拥有者DO为访问结构中的根节点R随机选择一个dR次多项式qR,其中dR=kR-1,并且qR(0)=s,kR表示根节点R的秘密分享门限值;
(413)数据拥有者DO为访问结构中的除根节点R的任意节点x选择一个dx次多项式qx,其中dx=kx-1,并且qx(0)=qparent(x)(index(x)),函数parent(x)返回节点x的父节点,函数index(x)返回节点x在其父节点中的次序,依此类推,最终为访问结构中的每一个叶子结点y选择一个dy次多项式qy,其中dy=ky-1,ky表示节点y的秘密分享门限值,并且qy(0)=qparent(y)(index(y)),qy(0)作为秘密值参与加密运算,kx表示节点x的秘密分享门限值;
(414)最后,数据拥有者DO产生密文如下:
其中,Y表示访问结构中叶子节点的集合;
(42)属性管理员AM重加密中间密文CT产生CT'和一个头文件Hdr;
(421)属性管理员AM随机选择并且重加密密文如下:
(422)属性管理员AM为访问结构中的每一个属性求node(Gi);
(423)属性管理员AM计算头文件如下:
其中,
(424)属性管理员AM上传<Hdr,CT'>到CSS;
(43)属性管理员AM上传CT'和Hdr到云存储CSS中。
6.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(5)的具体过程为:(51)解密者调用一个递归解密函数DecryptNode(CT',Hdr,DSK,KEKs,x),其中,CT'是一个关联了访问结构的密文,Hdr是重加密产生的头文件,x是访问结构中的节点;
(52)若x为叶子结点,令atti=att(x),函数att(x)返回节点x所对应的属性,如果atti∈S,则计算如下:
否则,令Fx=⊥;
(53)若x为非叶子结点,为x的所有子节点z调用函数DecryptNode(CT',Hdr,DSK,KEKs,z),并保存其输出Fz;令Sx表示一个kx长度的集合,该集合保存满足条件Fz≠⊥的节点z,如果这样的集合存在,则计算如下:
否则,令Fx=⊥;
(54)依此类推,如果属性集合S满足访问结构则递归函数会正确执行FR=DecryptNode(CT',Hdr,DSK,KEKs,R)=e(g,g)r·s,否则,令FR=⊥;
(55)若FR≠⊥,解密者恢复消息如下:
7.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(6)包括以下内容:
(61)属性管理员AM为每个属性随机选取而对于每个属性设置τi=1,其中表示要撤销的属性集合,
(62)属性管理员AM为每个属性计算和ti·τi,更新后的管理员密钥为:
8.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(7)包括以下内容:
(71)属性管理员AM为每个属性更新属性群为同时函数node()对应的输出为
(72)属性管理员AM为每个用户执行一个取交集运算:并计算最后,用户KEKs中的{atti,sequence(vj),keki,KEKi}被替换为
9.根据权利要求1所述的具有高效属性撤销的密文策略属性基加密方法,其特征在于:所述步骤(8)的具体过程为:
(81)属性管理员AM随机选取并为每个属性随机选择
(82)属性管理员AM更新重加密密文如下:
(83)属性管理员AM更新头文件如下:
其中,atti=att(y)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510413994.4A CN105071937B (zh) | 2015-07-14 | 2015-07-14 | 具有高效属性撤销的密文策略属性基加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510413994.4A CN105071937B (zh) | 2015-07-14 | 2015-07-14 | 具有高效属性撤销的密文策略属性基加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105071937A CN105071937A (zh) | 2015-11-18 |
CN105071937B true CN105071937B (zh) | 2019-01-11 |
Family
ID=54501224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510413994.4A Active CN105071937B (zh) | 2015-07-14 | 2015-07-14 | 具有高效属性撤销的密文策略属性基加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105071937B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871551B (zh) * | 2016-06-22 | 2019-08-06 | 江苏迪纳数字科技股份有限公司 | 基于代理重加密的用户撤销访问控制方法 |
CN105978895A (zh) * | 2016-06-28 | 2016-09-28 | 电子科技大学 | 支持非单调访问结构和细粒度撤销的属性基加密方案 |
CN108063756B (zh) * | 2017-11-21 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 一种密钥管理方法、装置及设备 |
CN108200066A (zh) * | 2018-01-04 | 2018-06-22 | 南京邮电大学 | 一种基于属性加密的物流大数据访问控制系统及方法 |
CN108763944B (zh) * | 2018-05-31 | 2022-06-10 | 金华航大北斗应用技术有限公司 | 雾计算中安全可撤销多中心大属性域属性基加密方法 |
CN108880798B (zh) * | 2018-06-28 | 2020-11-03 | 西南交通大学 | 一种实现细粒度属性撤销的属性基重加密方法 |
CN109121269B (zh) * | 2018-09-13 | 2020-02-21 | 江苏科技大学 | 一种港口智能照明管理系统及其访问控制方法 |
CN110457930B (zh) * | 2019-08-16 | 2021-03-05 | 上海海事大学 | 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统 |
CN113194089B (zh) * | 2021-04-28 | 2022-03-11 | 四川师范大学 | 一种支持属性撤销的密文策略基于属性加密方法 |
CN113612805B (zh) * | 2021-10-08 | 2021-12-14 | 国网浙江省电力有限公司信息通信分公司 | 基于密文策略属性基的能源数据访问权限撤销方法 |
CN115225364B (zh) * | 2022-07-15 | 2023-11-17 | 中国科学技术大学 | 一种面向云端加密数据的高效动态访问控制方法及系统 |
CN115189974B (zh) * | 2022-09-13 | 2022-12-09 | 北京邮电大学 | 基于区块链的多组织访问控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546161A (zh) * | 2010-12-08 | 2012-07-04 | 索尼公司 | 可撤销的基于密文政策的属性基密码方法、设备和系统 |
CN103618609A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN104486315A (zh) * | 2014-12-08 | 2015-04-01 | 北京航空航天大学 | 一种基于内容属性的可撤销密钥外包解密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423764B2 (en) * | 2010-06-23 | 2013-04-16 | Motorola Solutions, Inc. | Method and apparatus for key revocation in an attribute-based encryption scheme |
-
2015
- 2015-07-14 CN CN201510413994.4A patent/CN105071937B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546161A (zh) * | 2010-12-08 | 2012-07-04 | 索尼公司 | 可撤销的基于密文政策的属性基密码方法、设备和系统 |
CN103618609A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种云环境下基于属性基加密的及时用户撤销方法 |
CN104486315A (zh) * | 2014-12-08 | 2015-04-01 | 北京航空航天大学 | 一种基于内容属性的可撤销密钥外包解密方法 |
Non-Patent Citations (1)
Title |
---|
Attribute-based Fine-Grained Access Control with Efficient Revocation in Cloud Storage Systems;Kan Yang et. al;《Acm Sigsac Symposium on Information》;20130510;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105071937A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105071937B (zh) | 具有高效属性撤销的密文策略属性基加密方法 | |
CN105049430B (zh) | 一种具有高效用户撤销的密文策略属性基加密方法 | |
US10841082B2 (en) | System and method for blockchain smart contract data privacy | |
Jung et al. | Control cloud data access privilege and anonymity with fully anonymous attribute-based encryption | |
CN107634829A (zh) | 基于属性的可搜索加密电子病历系统及加密方法 | |
CN106375346B (zh) | 一种云环境下基于条件广播代理重加密的数据保护方法 | |
Samanthula et al. | A secure data sharing and query processing framework via federation of cloud computing | |
CN103636160B (zh) | 安全文件共享方法与系统 | |
CN106330865B (zh) | 云环境下支持高效撤销的属性基关键字搜索方法及云计算应用系统 | |
CN104363215B (zh) | 一种基于属性的加密方法和系统 | |
CN105406967B (zh) | 一种分层属性加密方案 | |
Han et al. | A data sharing protocol to minimize security and privacy risks of cloud storage in big data era | |
CN105100083B (zh) | 一种隐私保护且支持用户撤销的基于属性加密方法和系统 | |
CN105024803B (zh) | 白箱实现中的行为指纹 | |
CN104079574A (zh) | 云环境下基于属性和同态混合加密的用户隐私保护方法 | |
CN108881314A (zh) | 雾计算环境下基于cp-abe密文访问控制实现隐私保护的方法及系统 | |
CN108111540A (zh) | 一种云存储中支持数据共享的分层访问控制系统及方法 | |
KR101615137B1 (ko) | 속성 기반의 데이터 접근 방법 | |
CN107968780A (zh) | 一种移动云存储共享数据的隐私保护方法 | |
CN104883254A (zh) | 面向云计算平台的密文访问控制系统及其访问控制方法 | |
Zhang et al. | Feacs: A flexible and efficient access control scheme for cloud computing | |
CN109361644A (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
Jiang et al. | Attribute-based encryption with blockchain protection scheme for electronic health records | |
CN104993929B (zh) | 一种支持系统属性扩展的属性基加密系统及方法 | |
CN107634830B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |