【技术实现步骤摘要】
一种可撤销的属性基加密方法
本专利技术涉及网络文件加密,具体是一种可撤销的属性基加密方法。
技术介绍
近年来,面对海量用户,密钥滥用一直是威胁用户隐私及加密数据安全的难题。一种支持细粒度属性撤销的属性集加密方案相比之前的加密方案具有更多的优势:一方面数据拥有者仅需根据属性加密消息,只有符合密文属性要求的用户才能解密消息,降低了数据加密开销并保护了用户隐私;另一方面通过属性的与、或、非和门限操作实现了属性灵活的细粒度访问控制策略,也确保了加密数据的机密性。该方法的综合优势是在已有的属性基加密方案上,对加密方法进行修改,为每个用户都随机生成一个随机数用来实现属性的撤销,并且给出密钥密文更新参数的生成算法。然而,传统的访问控制方法在云计算环境下有局限性。比如需要有可信实体实施访问控制策略,而第三方不再可信,其可能单独或通过勾结某非法用户来非法访问用户的数据。当要撤销某个用户的权限时,会需要数据拥有者对涉及到的密文进行重加密,并更新用户属性密钥,若权限撤销频繁,负担就会很大。为了解决云环境下基于密文的访问控制的难题,通过数据管理服务器作为半可信第三方分发系统公钥及主密钥,为每个用户分配一个随机数实现属性撤销。在基于二叉树的基础上,通过向合法用户分发KEK二叉树,形成唯一的路径密钥,由数据拥有者对密文的加密保护和数据管理服务器对用户属性及信息的重加密。确保了只有拥有访问权限和未被撤销属性的用户才能解密加密的数据信息。若未被撤销的用户未能及时更新属性,就不能及时解密数据,实现了抗共谋攻击,满足了选择明文攻击。而目前的实现属性的及时撤销进行数据的细粒度访问控制还少有文档 ...
【技术保护点】
一种可撤销的属性基加密方法,其特征在于,该方法包括以下步骤:步骤1、系统初始化:由可信认证机构执行Setup(k)算法,公布公钥pk并保存主密钥mk,可信认证机构执行Setup(k)算法公布主公钥的计算公式为:①选取一个双线性群G0和双线性映射e:G0×G0→G1 (1)②计算:
【技术特征摘要】
1.一种可撤销的属性基加密方法,其特征在于,该方法包括以下步骤:步骤1、系统初始化:由可信认证机构执行Setup(k)算法,公布公钥pk并保存主密钥mk,可信认证机构执行Setup(k)算法公布主公钥的计算公式为:①选取一个双线性群G0和双线性映射e:G0×G0→G1(1)②计算:③公布公钥:pk=(e,g,y,Tj(1≤j≤n))(3)可信认证机构保存主密钥:mk=(α,tj(1≤j≤n))(4)其中,k表示安全参数,G0,G1表示其阶为素数p的循环群,g表示G0的生成元,mk指的是主密钥,pk指的是主公钥,α是随机生成的,y,Tj是通过以上公式计算得出,t1,t2,tn∈Zp*;所述的可信认证机构指的是能被用户完全信任的主要负责为系统生成主公钥和主密钥,为用户生成、分发、撤销和更新属性私钥的权威机构;步骤2、可信认证机构生成用户私钥:可信认证机构对申请注册的用户进行属性验证,并通过KeyGen算法为每个用户生成相应的私钥,然后将每个属性对应的属性用户群发送给数据管理服务器,认证机构对用户的属性进行验证的计算公式为:①随机为每个用户选取唯一的r∈Zp*,计算:d0=gα-r(5)②对每个属性αj∈ω,计算:③发送相应的私钥给每个用户:其中d0,dj是由公式计算所得,表示私钥的一部分,这里的用户个数远远小于选取的大素数p,αj表示随机数生成的用户对应的每个属性值,skω指的是用户的属性私钥,ω指的是属性集合;然后认证机构将每个属性αj∈ω对应的属性用户群Uj发送给数据管理服务器,其中Uj指的是同时包含αj属性的所有用户集合;所述的属性用户群是指拥有相同属性的所有用户的集合;所述的数据管理服务器是指提供数据外包管理服务,控制外部用户对数据进行访问并提供相关服务的云提供商;步骤3、数据管理服务器分发属性群密钥:数据管理服务器收到属性用户群后,为用户群中的每个用户生成相应的KEK二叉树,并为用户分发属性群密钥,具体的构造过程为:①将每个成员都分布到二叉树的叶子节点上,为树中所有的节点vj都随机生成一个密钥KEK,记为KEKj;其中节点vj指的是构造的树模型中代表一个节点;②每个叶子节点到根节点所经过的节点称为路径节点,路径节点所代表的密钥集合即为每个用户ut∈U的专属路径密钥,记为PKt;如二叉树中用户u2所存储的路径密钥为PK2={KEK9,KEK4,KEK2,KEK1};③对于每个Uj,存在一个相应的最小覆盖元,它可以覆盖所有和Uj中的成员对应的叶子结点,记Uj的最小覆盖元为KEK(Uj);所述的KEK二叉树是指基于用户的二叉树,可以用来为属性未撤销的用户提供密钥更新信息,未撤销的用户根据密钥更新信息来更新自己相应的私钥,进而实现解密;步骤4、数据拥有者加密数据:数据拥有者基于属性域指定一个访问树T,通过Encrypt(m,T,pk)算法对消息m进行加密,具体的计算公式为:①第一层加密:计算:c0=gs,c1=mys=me(g,g)as(8)其中s是选取的随机数,m指的是消息,T指的是构造的访问树,s∈Zp*;②第二层加密:设置访问树T根节点的值为待共享的值s,将根节点置为已分配,其所有孩子节点标记为未分配,对每个未分配的非叶子节点执行以下递归算法,若标识符号为∧,且它的孩子节点标记为未分配,采用模加机制赋值给孩子节点,对每个孩子节点赋予一个随机数si(1≤si≤p-1),最后一个孩子节点的值为:标记这些节点为已分配;若标识为∨,且它的孩子节点标记为未分配。其中p表示能达到的最大上限,s表示设置的孩子节点,并标记节点为已分配。③对每个叶子节点αj,i∈Y(Y表示访问树T的叶子节点的集合,Y∧表示∧节点的t-1个孩子叶子节点集合,Y∨表示∨节点的孩子叶子节点,i表示访问树中叶子节点所对应的索引值,计算);其中cj,i指的是树中叶子节点对应的密文;④返回密文数据拥有者将此密文安全外包给数据管理服务器,通过Encrypt算法对消息进行加密;所述的属性域是指由属性构成的一个域集合;所述的访问树是指通过构造树形结构实现对作为孩子节点用户的密钥分配;步骤5、数据管理服务器对数据密文重加密:数据管理服务器收到数据密文后,基于属性用户群对数据密文进行重加密,执行用户级的访问控制,采用数据重加密算法ReEncrypt,具体的过程如下:①对于任意的Uj∈U,计算:
【专利技术属性】
技术研发人员:蒋雁梅,韩德志,毕坤,王军,田秋亭,
申请(专利权)人:上海海事大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。