一种隐藏属性的密钥策略属性加密方法
技术领域
本发明涉及数据加密技术领域,具体涉及一种隐藏属性的密钥策略属性加密方法。特别是适用存储在云端服务器的数据加密。
技术背景
现如今,云端应用日趋发达,越来越多的资料与文件储存在云端系统上,当使用者把具安全性顾虑的资料透过云端服务传递给其他使用者时,他希望除了指定的使用者群以外,任何人无法得知任何与资料相关的信息,这样的需求可以由一个可隐藏属性的属性加密系统提供。试想在一个公司中,当董事长运用云端服务传递有关新产品的信息时,董事长当然不想让没有权限的人知道文件的内容,才可以避免其他的公司提前一步发布更好的产品,影响新产品的销售量,董事长也不想给没有权限的人知道文件是加密给哪些部门主管,避免透露公司目前的研发方向,如果公司使用的加密系统不具匿名性功能,当公司外部的人看到目前有频繁的信息加密给某一个部门,他就可以预测目前公司主要的方向,做出应对的决策。
Goyal等人在2006年提出了一套密钥策略属性加密系统(Key-PolicyAttributeBased Encryption,KP-ABE),提供了以属性作为基础的群组加密机制,并可在判定式双线性Diffie-Hellman(DBDH)的假设下证明符合选择集合安全模型(Selective-set model)的密文不可分辨性。在KP-ABE中使用者的密钥对应其解密策略,解密策略是一个任意的AND、OR组成的逻辑运算式或是阀门(threshold gate)组成的存取结构(access structure),可以控制密钥可解的密文集合,只有当密文的属性集合满足密钥的解密策略时才可以解开。为了让使用者知道他的解密策略与密文的属性集合是否符合,密文中的属性集合是公开的,否则无法有效地解密。
如果将隐藏属性的密钥策略属性加密(KP-ABE)系统中属性视为密文对应的关键字,密钥的策略即为使用者查询关键字组成的逻辑条件,可以得到一个查询非常有弹性的PEKS机制,使得方便性大增,例如:在云端服务器应用上我们常常将信息交给电子邮件服务器(例如Gmail)协助管理,但又希望可以保有个人的隐私,因此对于有私密性考量的文件,发件人使用收件人的公钥并挑选对应的关键字作为属性加密信息并传递至服务器。当收件人需要搜寻满足特定条件的信息时,可以使用AND、OR逻辑设计策略(例如(A∧B∧C)或(A∧(B∨C))计算对应的密钥,授权服务器协助搜索,这样可以妥善运用云端服务器的计算能力协助使用者寻找指定的信息。
发明内容
本发明要克服现有技术的不足之处,提出一种隐藏属性的密钥策略属性加密方法。
本发明所述的隐藏属性的密钥策略属性加密方法,包括以下步骤:
Step1:产生一个双线性映射e:G×G→GT,。G、GT是两个秩为质数p的循环群,g为G的生成数,[n]代表集合{1,…,n}
Step2:环境设置算法Setup(λ,w):
λ为系统的安全参数,w为每个密文或密钥中最多可使用的属性数量,定义集合U={1,…,n}包括系统中的n个属性,替每一个属性在乘法群中随机挑选一个值ti,i∈U,接着随机挑选一个
公钥(PK):其中{u1,…,uk}代表U中所有k个元素的子集合,k满足1≤k≤w。
主密钥(MSK):y,{ti}i∈U。
Step3:密钥产生算法KeyGen(MSK,T):
本发明中密钥策略简化为策略集合
密钥产生中心替每一个属性ui,i=1,…,|T|-1,在中随机挑选一个值yi,且令y|T|的值等于
密钥(SKT):
Step4:加密算法Encrypt(M,γ,PK):
属性集合在中随机挑选及s″,令 为一个常数项为0的|γ|+1次多项式,其中当x∈γ时f(x)=s,由于加密者不知道{ti}i∈U,所以计算不出s,因此必须利用公钥计算计算方法如下:
……
密文(CTγ):
Step5:解密算法Decrypt(CTγ,SKT):
若密钥的策略属性集合包含于密文的属性集合则能够成功解密,即可解密回明文M′=M
其中
本发明提出一个机制来隐藏KP-ABE密文中的属性。在这个发明中密文对应一组属性集合,密钥对应一个策略并简化为属性集合表示,密钥的属性集合称为策略集合,同时具有集合中属性的密文即为这把密钥可解的密文,在利用多项式来隐藏密文中的属性,举例来说密文有属性{A,B,C},运用这些属性建构多项式,f(x)=(x-A)(x-B)(x-C)+1,当密钥的属性落于上述密文的属性集合中时,则输出1,如f(A)=1,这样的性质使得密钥中的任何一个属性可以同时与密文中所有属性比对,接着将f(x)拆成两个部份,一部分放在密文中,另一部分放在密钥中,解密时由密文及密钥计算双线性配对拼回f(x)执行属性比对,如果密钥的策略集合包含于密文的属性集合时便可成功解密。在发明中的系统中策略集合可以表达AND运算式及有限制的OR运算式。
本发明的有益效果在于:
可以安全、有效的应用在云端服务器上资料的管理与存储。可隐藏属性的KP-ABE也可以实现支持复杂的关键字搜索,使用者搜索时以关键字组成策略集合,制作可以解密具有这些关键字的密文的密钥作为暗门,使得服务器可以在不解密文件的情况下执行比对完成搜索。
附图说明
图1是本发明方法的具体实现流程图。
具体实施方式
下面结合附图说明和具体实施方式对本发明做进一步详细说明。
本发明所述的隐藏属性的密钥策略属性加密方法,包括以下步骤:
Step1:产生一个双线性映射e:G×G→GT,。G、GT是两个秩为质数p的循环群,g为G的生成数,[n]代表集合{1,…,n}
Step2:环境设置算法Setup(λ,w):
λ为系统的安全参数,w为每个密文或密钥中最多可使用的属性数量,定义集合U={1,…,n}包括系统中的n个属性,替每一个属性在乘法群中随机挑选一个值ti,i∈U,接着随机挑选一个
公钥(PK):其中{u1,…,uk}代表U中所有k个元素的子集合,k满足1≤k≤w。
主密钥(MSK):y,{ti}i∈U。
Step3:密钥产生算法KeyGen(MSK,T):
本发明中密钥策略简化为策略集合
密钥产生中心替每一个属性ui,i=1,…,|T|-1,在中随机挑选一个值yi,且令y|T|的值等于
密钥(SKT):
Step4:加密算法Encrypt(M,γ,PK):
属性集合在中随机挑选及s″,令 为一个常数项为0的|γ|+1次多项式,其中当x∈γ时f(x)=s,由于加密者不知道{ti}i∈U,所以计算不出s,因此必须利用公钥计算计算方法如下:
……
密文(CTγ):
Step5:解密算法Decrypt(CTγ,SKT):
若密钥的策略属性集合包含于密文的属性集合则能够成功解密,即可解密回明文M′=M
其中
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。