重加密可控的高效属性基代理重加密方法

文档序号:7817676阅读:290来源:国知局
重加密可控的高效属性基代理重加密方法
【专利摘要】本发明公开了一种重加密可控的高效属性基代理重加密方法,主要解决现有技术存在的安全性差及效率低的问题。其实现步骤是:1、密钥生成中心分别生成系统参数和用户密钥SK;2、加密者E通过密文策略属性基加密方法对明文消息m加密得到原始密文CT;3、重加密授权者A生成重加密密钥RK并发送给重加密代理;4、重加密代理利用系统公钥PK及合法的重加密密钥RK对原始密文CT进行重加密生成重加密密文CT′;5、原始密文解密者D和重加密解密者B分别恢复明文消息m。本发明能抵御更强类型的攻击者、提高了运算效率、实现加密者对密文的重加密控制,可广泛应用于分布式网络或云存储环境中以实现加密数据的细粒度共享。
【专利说明】重加密可控的高效属性基代理重加密方法

【技术领域】
[0001] 本发明属于网络安全【技术领域】,涉及一种重加密可控的高效属性基代理重加密方 法,可用于分布式网络或云存储环境中实现加密数据细粒度的共享。

【背景技术】
[0002] 云计算作为一种新兴的服务模式,通过分布式计算、网络存储、虚拟化等技术,将 网络中大量不同类型的资源整合起来协同工作,为用户提供计算和存储等功能,极大地提 高了资源利用率,降低了用户成本,因此得到了广泛的应用和支持。然而云存储的服务模式 也带来了新的安全隐患,其中一个重要问题是在云存储介质位于用户控制范围之外的条件 下如何在保护用户数据机密性的同时实现合法用户对已加密数据细粒度的访问控制及高 效的数据共享。在这种情况下,属性基代理重加密被提出。在属性基代理重加密系统中,由 于使用了密文策略属性基加密体制,故只有当用户的属性集合满足密文中的访问结构时, 该用户才能解密。若用户A拥有解密权限,用户A可以给一个被称作是重加密代理的半可 信代理服务器发送针对共享用户B的重加密密钥,重加密代理就利用接收到的重加密密钥 将原始密文重加密成用户B利用自己的私钥就可以解密的重加密密文,从而实现了用户之 间高效的数据共享。在代理重加密系统中,用户A被称为重加密授权者,而用户B被称为重 加密解密者。且在这一过程中,重加密代理无法获取重加密授权者和重加密解密者的私钥 以及密文中对应明文的任何信息。
[0003] 文献"A Ciphertext-Policy Attribute-Based Proxy Re-Encryption with Chosen Ciphertext Security, Cryptology ePrint Archive:Report2013/236."提出了随 机预言模型下选择密文安全的属性基代理重加密方法,该方法适合云存储环境下各种需要 细粒度共享加密数据的应用场景。该方法的主要步骤是:第一,密钥生成中心初始化系统, 生成并公开系统公钥的同时保存系统主密钥;第二,密钥生成中心生成用户,包括加密者, 重加密授权者,原始密文解密者以及重加密解密者的私钥;第三,加密者利用密文策略属性 基加密算法对明文消息加密;第四,重加密授权者生成针对重加密解密者的重加密密钥,并 发送给重加密代理;第五,重加密代理使用重加密密钥进行重加密生成重加密密文;第六, 重加密解密者解密重加密密文。该方法存在以下缺陷:
[0004] 第一,无法抵御更强类型的攻击者。该方法的安全性是建立在一种弱化的安全模 型,即选择模型上的,该模型要求攻击者必须提前选择并声明自己的攻击目标,这种对攻击 者的限制导致无法客观自然地刻画攻击者,从而导致该方法不能抵御更强类型的攻击者;
[0005] 第二,加密者本身不能控制哪些密文能被重加密。该方法中,重加密代理在获得重 加密密钥后,能够将加密者加密给重加密授权者的所有密文转换为针对重加密解密者的密 文;
[0006] 第三,运算效率低。该方法的重加密及解密过程需要的双线性对运算个数与用户 属性集合中属性的个数成正比的,由于双线性对运算在实现效率方面要远远低于其它运 算,如指数运算,故该方法的计算代价会随着用户属性数量的增多而加大,直接影响了该方 法的计算性能,导致算法效率不高,在通信带宽受限的环境下很难实现。


【发明内容】

[0007] 本发明目的在于针对上述现有技术存在的缺陷,提出一种重加密可控的高效属性 基代理重加密方法,以抵御更强类型的攻击者、提高运算效率、实现加密者对密文的重加密 控制。
[0008] 实现本方法的主要思想是:利用双系统加密的构造思路,基于合数阶双线性群构 造代理重加密方法,实现了本方法的适应性安全,消除了较弱安全模型中对攻击者的限制 问题。同时,修改加密过程,通过使加密者能够控制重加密解密者是否可以从重加密密文中 正确解得明文消息,来实现加密者的重加密控制功能。最后,通过增加重加密及解密过程中 的乘法运算和指数运算个数,使这两个过程中所需的双线性对运算个数下降为常数,提高 了运算效率,使计算代价不会随着用户属性数量的增多而加大。
[0009] 根据以上思路,本发明的实现步骤包括如下:
[0010](1)重加密授权者A根据重加密解密者B的属性集合SB构造新的访问结构W', 然后利用访问结构W'和重加密授权者A的私钥SKA,生成重加密密钥RK并发送给重加密 代理Proxy ;
[0011] (2)重加密代理Proxy收到重加密密钥RK后,验证重加密密钥RK的合法性:若合 法,则重加密代理Proxy利用系统公钥PK、重加密密钥RK及原始密文CT进行重加密,生成 重加密密文CT',否则,重加密代理Proxy不进行重加密,操作终止;
[0012] (3)原始密文解密者D从原始密文CT中恢复明文消息m,重加密解密者B从重加 密密文CT'中恢复明文消息m:
[0013] 3a)原始密文解密者D使用原始密文解密者D的私钥SKD通过密文策略属性基加 密的解密方法从原始密文CT中恢复明文消息m ;
[0014] 3b)重加密解密者B使用重加密解密者B的私钥SKB通过密文策略属性基加密的 解密方法恢复出一个解密分量,然后利用该分量从重加密密文CT'中恢复明文消息m。
[0015] 本发明与现有方案相比具有如下优点:
[0016] 第一,本发明可以抵御更强类型的攻击者。本发明利用双系统加密的构造思路,基 于合数阶双线性群及三个三素数子群判定假设,修改系统参数生成过程,实现适应性安全 的属性基代理重加密方法。该方法解决了现有属性基代理重加密方法中较弱安全模型对攻 击者的限制问题,使其可以抵御更强类型的攻击者。且本发明实现适应性安全的同时,并没 有影响重加密等性质的实现。
[0017] 第二,本发明实现了加密者重加密控制功能。在加密过程中,加密者产生的原始密 文包含分量= 该分量对原始密文解密者的解密过程没有任何作用,但是却是重加密 解密者解密过程中必不可少的,从而使加密者可以直接控制重加密解密者能否从重加密密 文中正确解出明文消息,实现加密者的重加密控制。
[0018] 第三,本发明通过增加重加密及解密过程中的乘法运算和指数运算个数,使所需 的双线性对运算个数下降为常数。由于双线性对运算在实现效率方面要远远低于其它运 算,如指数运算和乘法运算,故与现有属性基代理重加密方法相比,本方法的计算代价不会 随着用户属性数量的增多而加大。

【专利附图】

【附图说明】
[0019] 图1为本发明的实现流程图。

【具体实施方式】
[0020] 下面结合附图对本发明做进一步的描述。
[0021] 参照图1,本发明的实现步骤如下:
[0022] 步骤1,密钥生成中心KGC生成系统参数。
[0023] (la)根据实际要求设定本属性基代理重加密系统安全参数入彡160 ;
[0024] (lb)密钥生成中心KGC根据设置的系统安全参数入,选取三个互不相等的素数 Pi,P 2和IV计算合数阶数N =;再构造一个N阶加法循环群G和一个N阶乘法循环群 GT,使其满足双线性映射e:GXG - GT,即从加法循环群G中任意取两个元素作为双线性映 射e的输入,则其输出一定是乘法循环群GT中的一个元素;分别构造N阶加法循环群G中 阶为素数PpP2和P3的子群GPl、,生成系统属性集合U ;
[0025] (lc)密钥生成中心KGC选取Pl阶子群\的生成元8和 1)3阶子群心的生 成元Y3,随机选取整数私eGPl、n GZN&aGZN,对于系统属性集合U中的每一个 属性x随机选取整数h x e ZN,其中ZN为不超过合数阶数N的整数集合,计算分量 //a = ^.,令A =丨",,A e A、,密钥生成中心KGC生成系统公钥 PK = b,w,(W)",g*a,彦)和系统主私钥 MSK= (n,Y3);
[0026] (Id)密钥生成中心KGC秘密保存系统主私钥MSK,同时公开系统公钥PK和其它系 统参数。
[0027] 步骤2,密钥生成中心KGC生成重加密授权者A的私钥SKA、原始密文解密者D的 私钥SKd以及重加密解密者B的私钥SKb。
[0028] (2a)密钥生成中心KGC随机选取整数t G ZN、& e 以及圮e ,对于属性集合 SA*的每一个属性x,随机选取整数计算重加密授权者A的私钥分量 La =gTA及欠 =":.尺,、.,令彳丨=!人\ |人= ":/?丨,,义,e(7,,、,",已授权者A的私钥SKa为:SK , = p A ,);
[0029] (2b)密钥生成中心KGC随机选取整数t G ZN、〃0 以及私,对于属性集 合SD中的每一个属性x,随机选取整数e ,计算原始密文解密者D的私钥分量Kd = gqgatRD、LD = gTd及人、="X,.,令t \ ^ 成原始密文解密者D的私钥SKD为:SKD
[0030] (2c)密钥生成中心KGC随机选取整数t G ZN、A 6 以及圮e G,Vi,对于属性集合 SB中的每一个属性x,随机选取整数,计算重加密解密者B的私钥分量kb=gngatRB、 LB =gtR'B及令克S=^r= 生成重加密 解密者B的私钥SKB为:SKs
[0031] 步骤3,加密者E通过密文策略属性基加密方法对明文消息m加密。
[0032] 加密者E通过使用系统公钥PK和访问结构W = (M,P )对明文消息m进行加密, 其中M是1行n列的矩阵,P是一个从矩阵M行标集{1,2,…,1}到授权集合P的映射,该 映射将矩阵M的第i行映射到一个属性,记为P (i),令I = U | P (i) G P,P G W},本步骤 的具体实现如下:
[0033] (3a)加密者EWn维向量空间Z;;中随机选取一个列向量= Cy2,j'.,,...,>>"),分别计 算得到三个原密文分量C = me (g,g)ns、C' = gs和C" = S ;
[0034] (3b)加密者E对于矩阵M的第i行随机选取整数ri e ZN,计算得到原密 文分量对= g' if%和D, = ,其中來表不矩阵M的第i行所代表的向量,令 中={(C,.,A)|C,. =fV; e ZV,W e {1,2,...,/}},得到加密者E生成的原始密文CT 为:CT=(C,C,,C",叫)。
[0035] 步骤4,重加密授权者A生成重加密密钥RK。
[0036] (4a)重加密授权者A随机选择一个整数0 G ZN,对阶为Pl的子群的生成元g 和随机数g(1计算得到元分量g e和随机分量W ;
[0037] (4b)重加密授权者A通过密文策略属性基加密方法用访问结构W'对元分量 g 0加密得到部分密文亡,对随机分量gf计算得到重密钥分量,并根据私钥 SK4 =(^4,4尤),生成重加密密钥RK为:。
[0038] 步骤5,重加密代理Proxy生成重加密密文CT'。
[0039] (5a)重加密代理Proxy收到由重加密授权者A发送的重加密密钥RK后,检验重加 密密钥RK中的属性集合S A是否满足密文CT中的访问结构W:若满足,则重加密密钥RK是 合法的,重加密代理Proxy执行步骤5b)生成重加密密文CT',否则,重加密代理Proxy终 止操作;
[0040] (5b)重加密代理Proxy根据接收到的重加密密钥RK 和原始密 文CT=(C,C',C",屯),计算重密文分量

【权利要求】
1. 一种重加密可控的高效属性基代理重加密方法,主要包括如下步骤: (1) 重加密授权者A根据重加密解密者B的属性集合Sb构造新的访问结构W',然后 利用访问结构f和重加密授权者A的私钥SKa,生成重加密密钥RK并发送给重加密代理 Proxy; (2) 重加密代理Proxy收到重加密密钥RK后,验证重加密密钥RK的合法性:若合法, 则重加密代理Proxy利用系统公钥PK、重加密密钥RK及原始密文CT进行重加密,生成重加 密密文CT',否则,重加密代理Proxy不进行重加密,操作终止; (3) 原始密文解密者D从原始密文CT中恢复明文消息m,重加密解密者B从重加密密 文CT中恢复明文消息m: 3a)原始密文解密者D使用原始密文解密者D的私钥SKd通过密文策略属性基加密的 解密方法从原始密文CT中恢复明文消息m; 3b)重加密解密者B使用重加密解密者B的私钥SKb通过密文策略属性基加密的解密 方法解密得到一个解密分量,然后利用该解密分量从重加密密文CT'中恢复明文消息m。
2. 根据权利要求1所述的方法,其中所述步骤(1)中重加密授权者A生成重加密密钥RK,按如下步骤进行: la) 重加密授权者A随机选择一个整数βeZn,对子群的生成元g和随机数g。eGa 计算得到元分量ge和随机分量gf,其中Zn为不超过合数N的整数集合,合数N=P1P2P3, Pl、P2和P3为密钥生成中心KGC选取的三个互不相等的素数,&,为N阶加法循环群G中阶 为P1的子群; lb) 重加密授权者A通过密文策略属性基加密方法用访问结构W'对元分量ge加 密得到部分密文再对随机分量gf计算得到重密钥分量I; =Kjgf,并根据由密钥生 成中心KGC生成的重加密授权者A的私钥SK4 =(?,生成重加密密钥RK为:RK= (W"("C)。
3. 根据权利要求1所述的方法,其中所述步骤(2)中重加密代理Proxy利用系统公钥 PK、重加密密钥RK及原始密文CT生成重加密密文CT',按如下步骤进行: 2a)重加密代理Proxy收到重加密密钥RK= (5',p /TpL,pf6)之后,检查重加密密 钥RK中的属性集合Sa是否满足原始密文CT中的访问结构W= (M,P),其中,原始密文CT=(C,C',C",Ψ)是由加密者E通过密文策略属性基加密方法对明文消息m加密得 到的,访问结构W= (M,P),M是1行η列的矩阵,P是一个从矩阵M行标集{1,2,…,1} 到授权集合P的映射,该映射将矩阵M的第i行映射到一个属性,记为P(i),令I= {i|p(i)ep,peff}; 若满足,则重加密密钥RK是合法的,重加密代理Proxy执行步骤2b),否则,重加密代理Proxy不进行重加密,操作终止; 2b)重加密代理Proxy根据接收到的重加密密钥RK= (5,./T, 乂和原始密文CT =(C,(T,C",ψ),计算重密文分量生成重加密 密文CT,为:CT=(cw'c\C.); 其中,密文分量Ψ= {(?,A)|c, = A= #ZamV/e{1,2,·..,/}},向量4表 示矩阵M的第i行,列向量P= (·s,.v2,.v3,…,.v")是由加密者E从n维向量空间Z;;中随机选取 的,整数AeZn是由加密者E对于矩阵M的第i行随机选取,ωieZn是恢复系数。
4. 根据权利要求1所述的方法,其中所述步骤3a)中原始密文解密者D使用私钥 SKp=(?,&,心,^)恢复明文消息m,是通过密文策略属性基加密的解密方法,利用公式 历=〇/4_0.6.,:,々少(^,人。)^/^.;)从原始密文(^=((:,(:',(:",屯)中恢复出明文消 /iel iel 息m,其中,GJieZn是恢复系数,SKd是由密钥生成中心KGC生成的原始密文解密者D的私 钥。
5. 根据权利要求1所述的方法,其中所述步骤3b)中重加密解密者B使用私钥SKb恢 复明文消息m,是先通过密文策略属性基加密的解密方法从部分密文^中恢复出元分量ge, 然后,通过公式m=Ce(C",ge)/Ct从重加密密文CT' = (C_\C'C",之C,)中恢复出明文消息m,其中SKb是由密钥生成中心KGC生成的重加密解密者B的私钥。
【文档编号】H04L29/06GK104320393SQ201410578147
【公开日】2015年1月28日 申请日期:2014年10月24日 优先权日:2014年10月24日
【发明者】庞辽军, 杨洁 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1