具有高效属性撤销的密文策略属性基加密方法

文档序号:9352677阅读:1743来源:国知局
具有高效属性撤销的密文策略属性基加密方法
【技术领域】
[0001] 本发明涉及信息安全技术领域,具体涉及一种具有高效属性撤销的密文策略属性 基加密方法。
【背景技术】
[0002] 作为新的密码学原语,属性基加密方法具有一对多加密的特性,可以用于细粒度 访问控制。属性基加密方法主要包括两种类型,分别是密文策略属性基加密方法和密钥策 略属性基加密方法。在密文策略属性基加密方法中,密文关联一个访问结构,而用户的私钥 关联一个属性集合,只有私钥关联的属性集合满足密文的访问结构的时候,用户才能够正 确得解密密文。密钥策略属性基加密方法正好和密文策略属性基加密方法相反。密文策略 属性基加密方法较密钥策略属性基加密方法更具有一般性,因为访问结构是由加密者自己 定义的。
[0003] 随着云计算技术的发展,越来越多的敏感数据被存储在云服务器中,云计算的发 展面临着云数据安全和数据访问控制等一系列安全问题。在现实中,第三方提供的云存储 服务往往不是完全可信任的,把访问控制交给这样的服务器很可能会存在安全隐患。属性 基加密方法应用于云存储环境中,不但可以保护云数据的安全,还可以实现细粒度的访问 控制。尽管属性基加密方法具有很多优点,在实际应用中仍需要解决一个棘手的问题一一 撤销。
[0004] 在属性基加密方法中,每个用户享有多个属性,每个属性也可以被多个用户共享。 因此,撤销问题对于属性基加密方法尤为困难,系统中单个用户或者单个属性的撤销都有 可能影响到其他用户甚至整个系统。如今,具有撤销能力的属性基加密方法已经广受密码 学家的关注。按照撤销的粒度,属性基加密方法的撤销可分为用户撤销、用户属性撤销和系 统属性撤销三种;而按照撤销的形式,属性基加密方法的撤销又可分为直接撤销和间接撤 销两种。目前,最理想的撤销方法应该具有粒度较细的属性撤销能力,具有直接撤销的撤销 过程影响范围小、撤销操作简单等特性。然而,细粒度的属性撤销必然会带来昂贵的计算代 价,而操作简单的直接撤销方法又有可能带来安全问题。为了安全性,如今大部分基于属性 的加密方法的撤销机制都采用间接撤销方法,同时,为了提高撤销的效率,代理重加密等技 术被采用。抗合谋攻击是属性基加密方法应该具备的基本条件。对于具有撤销能力的属性 基加密方法而言,不但要能够抵抗有效用户间的合谋攻击,还要能够抵抗有效用户和撤销 用户间的合谋攻击。因此,具有撤销能力的属性基加密方法要考虑更多的合谋攻击类型。
[0005] 目前,现有的属性基加密方法大都较为繁琐,撤销效率也比较低下,不能满足实际 需求。

【发明内容】

[0006] 发明目的:本发明的目的在于解决现有技术中存在的技术问题,提供一种具有高 效属性撤销的密文策略属性基加密方法。
[0007] 技术方案:本发明的一种具有高效属性撤销的密文策略属性基加密方法,依次包 括以下步骤:
[0008] (1)建立系统:属性权威机构AA从公钥函数数据库中随机选取一套参数,包括两 个阶为素数P的乘法循环群G和GT、群G的生成元g以及双线性对映射e:GXG-GT;根据 选取的参数,AA生成系统公开参数PK和主私钥MK,并把系统公开参数PK公开而把主私钥 MK私密保存;
[0009] ⑵建立属性管理员:属性管理员AM以步骤⑴所得系统的公开参数PK和系统 属性域£为输入,生成属性管理员的公钥MPK、私钥MMK,属性管理员把公钥MPK公开而把私 钥MMK私密保存,其中,系统属性域£包括系统中所有的属性a%,att2, . . .,attN,N表示所 有属性的个数;
[0010] (3)生成用户私钥,由属性权威机构AA和属性管理员AM共同完成:AA利用主私钥 MK为该用户计算一个与属性集合S相关联的私钥DSK,并把DSK通过安全信道发送给用户; 同时,AM管理一个用户二叉树,利用自己的私钥MMK为用户计算与属性集合S相关联的私 钥KEKs,并把KEKs通过安全信道发送给用户,其中,该属性集合S包括用户所持有的属性;
[0011] ⑷加密,分为本地加密过程和代理重加密过程;数据拥有者D0利用自定义的访 问结构A对消息M进行加密,加密产生密文CT并上传至属性管理员AM;接着AM根据用户定 义的访问结构和所管理的用户二叉树对密文CT执行重加密操作,产生密文CT'和一个头文 件Hdr并上传至云存储服务器CSS;
[0012] (5)解密,数据使用者DU从云存储服务器CSS下载密文CT'及对应的头文件Hdr, 并利用满足CT'所关联的访问结构A的私钥DSK和对应的私钥KEKs进行解密,还原消息M;
[0013] (6)属性管理员升级,属性管理员AM以系统公开参数PK为输入,生成新的公钥 MPK、私钥MMK;
[0014] (7)用户升级,属性管理员AM为撤销所影响到的用户更新相应的KEK;
[0015] (8)重加密,属性管理员AM对撤销所影响到的密文进行重加密操作。
[0016] 进一步的,所述步骤(1)中,属性权威机构AA从公钥函数数据库中随机选取参数 为a和0后,可得到主私钥为MK= {P,ga},和公开参数PK=fc&g'gV'efegr}, 此处表示整数集合{1,2,…,p-2,p_l}。
[0017] 进一步的,所述步骤⑵中,为每一个属性吨e£::随机选取,并计算t#,最 终得到私钥,公钥为,其中
[0018] 进一步的,所述步骤(3)具体包括以下步骤:
[0019] (31)属性授权机构AA为用户产生私钥DSK,同时产生中间状态的KEKs:
[0020] (311)为每一个属性att#S随机选取,S表示用户的属性集合,19$1£1;
[0021] (312)随机选取reZ;,并计算私钥DSk,
[0022] DSK=\D=1|f;yatt,eS:D=g'xH(att,)/> ' =g''j
[0023] (313)为每一个属性att#S计算并且把{atti,kekj添加到私钥KEKs 中,
[0024] (32)属性管理员AM利用自己的私钥MMK为用户更新KEKs;
[0025] (321)属性管理员AM管理一个用户二叉树,在该用户二叉树中,每个叶子节点 对应一个用户,而每个非叶子结点绑定一个唯一的值 V],并表示该节点唯一的序列码为 sequence(V]),每个用户都享有一条唯一的路径:从对应的叶子节点到根节点,该用户的私 钥KEKs也将根据此路径中的值计算所得,其中,V]的唯一性可以通过哈希函数等技术来实 现;
[0026] (322)属性管理员AM为用户的每一个属性athGS定义一个函数node(GJ,该函 数表示最小能够覆盖该属性群&中所有用户的节点集合;
[0027](323)属性管理员AM为用户的每一个属性att#S执行一个取交集ni= node(Gj门path(uk)的操作,如果4 = 0:,AM推出算法;否则AM为每一个VjGq;计算 MX; 入=g'乂,并用{atti,sequence(v.),keki,KEKJ替换KEKs中的{atti,kekj;
[0028] (33)属性权威机构把DSK和KEKs通过安全信道发送给用户。
[0029] 进一步的,所述步骤(4)的具体步骤为:
[0030] (41)数据拥有者D0定义一个树形访问结构A并产生中间密文CT;
[0031] (411)数据拥有者D0随机选择并计算e(g,g)1口gh;
[0032] (412)数据拥有者DO为访问结构▲中的根节点R随机选择一个dR次多项SqR,其 中dR=kR_l,并且qR(0) =s,kR表示根节点R的秘密分享门限值;
[0033] (413)数据拥有者D0为访问结构處中的除根节点R的任意节点x选择一个4次 多项式qx,其中dx=kx_l,并且qx(0) =qparentW (index(x)),函数parent(x)返回节点x的 父节点,函数index(x)返回节点x在其父节点中的次序,依此类推,最终为访问结构▲.中的 每一个叶子结点y选择一个dy次多项式qy,其中dy=ky_l,1^表示节点y的秘密分享门限 值为1),
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1