可撤销的基于密文政策的属性基密码方法、设备和系统的制作方法

文档序号:7768671阅读:195来源:国知局
专利名称:可撤销的基于密文政策的属性基密码方法、设备和系统的制作方法
技术领域
本发明涉及密码学技术领域,特别涉及一种可撤销的基于密文政策的属性基密码方法、设备和系统。
背景技术
传统的公钥加密系统需要公钥基础设施(PKI)负责验证用户身份与其公钥之间的对应关系。公钥基础设施通过公布一些公开信息来保证加密者可以验证其他用户身份与其所使用的公钥之间的对应关系。由于加密者需要检查接收者公钥以及证书合格与否,因此传统公钥加密系统的计算和通信负担就大为增加。身份基加密(IBE)这一概念于1984 年为Siamir在如下参考文件1中提出,其目的在于消除传统加密系统对公钥基础设施的需求。IBE的基本思想是直接将用户的身份作为用户的公钥,比如用户公开的电子邮箱或者家庭地址之类的信息直接作为用户的公钥。这样,就无需第三方来验证用户公钥与其身份之间的对应关系。
参考文件 1 Shamir, Α. Identity-Based Cryptosystems and SignatureSchemes. In =Blakely, G.R.,Chaum, D. (eds.) CRYPTO 1984.LNCS, vol.196, pp. 47-53. Springer, Heidelberg(1985)。
在身份基加密系统中,身份撤销(revocation) —直是个亟待解决的公开问题。不管在传统的公钥加密系统还是身份基加密中,撤销问题都存在。原因在于总是有一些用户的私钥丢失了,或者被某些攻击者以某种手段获得,或者过期了,因此系统必须提供手段来撤销这些已不能继续使用的用户私钥。在传统的基于HiI的公钥加密系统,撤销一个用户通常是通过HiI向加密者公开证书撤销列表来实现的。然而,这种方法并不适用于身份基加密系统,其原因在于这种方法与身份基加密系统的宗旨相冲突。在身份基加密系统中,用户加密产生密文只需系统的公开参数和接收者的身份,因此就不存在这种允许私钥生成中心(PKG)对加密者通知被撤销用户身份列表的渠道。Boneh和Franklin在如下参考文件 2中提出的身份基加密方案建议用户周期性地更新其私钥,比如每隔一周更新一次用户私钥,加密者则以当前时间周期和接收者身份对消息进行加密。
# # i # 2 :Boneh, D. , Franklin, Μ. Jdentity-Based Encryption fromthe Weil Pairing. SIAM Journal of Computing 32(3), 586-615(2003) ;earlier version in Kilian, J. (ed.)CRYPTO 2001. LNCS, vol. 2139,p.213-229. Springer, Heidelberg(2001)。
然而,这种周期性密钥更新方法在身份基加密系统中用户数量剧增时并不适用, 其原因在于在这种情况下PKG的工作量将会与系统用户数量成正比。为改进身份基加密系统中身份撤销的效率,Boldyreva等人于2008年提出了一种高效的可撤销身份基加密 (revocable IBE)方案,参见如下参考文件3。在他们的方案中,用户身份和时间周期被看作两种独立的属性。加密者针对这两种属性加密消息,当且仅当接收者拥有对应正确身份和正确更新时间周期的私钥时才能成功解密。这里对应正确时间的含义是指用户的私钥没有在密文加密时间周期之前被撤销。系统将周期性地公布一些更新信息(updateinformation),合法用户将使用这些更新信息更新其所持有的用户私钥以在新周期中解密密文,而被撤销用户则无法使用这些更新信息来更新用户私钥。
参考文件 3 :Boldyreva, A. , Goyal, V. , Kumar, V. Identity-BasedEncryption with Efficient Revocation. In =ACM-CCS 2008(2008)。
与Boneh和Frankl in所提出撤销用户身份的方法(参考文件2)相比,现有的高效可撤销身份基加密方案将更新信息的大小从0(n-r),0 <r <n/2改进为0("log(:)),0 < τ < ”/2,而密钥大小则从常数变为ο (log (n)),ο < r < n/2,其中n为系统中 η用户总数,r为被撤销用户的个数,0为函数上界记号。
属性基加密(ABE)方案最早由Goyal等人提出,具体可参见如下参考文件4。在 ABE系统中,用户的密钥和密文用描述性属性集合进行标记,并且只有当在密文和用户的密钥的属性之间存在匹配时,特定的密钥才能解密特定的密文。早期的属性基加密方案主要是密钥政策的,这意味着密文反映属性集合而私钥则反映访问控制政策,因而加密者只能对解密者所需要满足的属性集合进行有效的控制,而这些属性之间所需满足的逻辑关系则取决于分发密钥的属性机构。同样还属于密钥政策的属性基加密方案还有Ostrovsky等人在如下参考文件5中提出的非单调的密钥政策属性基加密方案。所谓“非单调”,指的是存在“否”这一逻辑运算。
# # i: # 4 :Vipul Goyal, Omkant Pandey, Amit Sahai, and Brentffaters. Attribute-based encryption for fine-grained access control ofencrypted data. In Proceedings of the 13th ACM conference on Computerand Communications Security(CCS 2006),pages 89-98,2006。
参考文件5 :Rafail Ostrovsky,Amit Sahai,and Brent Waters,Attribute-Based Encryption with Non-Monotonic Access Structures. InProceedings of the 14th ACM conference on Computer andCommunications Security (CCS 2007), pages 195-203, 2007。
在密钥政策的系统里,每个人的密钥对应一个访问结构,而密文对应一个属性集合。例如,在密钥政策系统下,一个人的密钥可能代表“(男人且已婚)或(高中学历且教师)”,而密文只是贴了一些标签,比如“男人,教师”。这样一来,加密者就只能对解密者所需要满足的属性集合(例如男人、教师等)进行控制,而这些属性之间所需满足的逻辑关系 (例如与、或、非等)则取决于分发密钥的属性机构。
Bethencourt等人在2007年指出,由于密文政策属性基加密方案中,加密者不仅可以选择解密者所需满足的属性集合,还可以选择这些属性之间所需满足的逻辑关系,因而密文政策的属性基加密方案可能更接近传统意义上的访问控制方案。参见如下参考文件 6。
参考文件 6 John Bethencourt, Amit Sahai and Brent Waters. Ciphertext一policy attribute-based encryption. In Proceeding of the IEEESymposium on Security and Privacy,2007。
以上参考文件1-6的整体内容全都通过引用结合于此。
在密文政策的系统里,每个人的密钥对应一个属性集合,密文则对应一个访问结构。例如,一个人的密钥是一些属性标签比如“男人,教师,未婚”,密文上则有一个访问结构如“男人或(未婚且教师)”。
从权限来看,密钥政策系统里,谁能解密的权限掌握在系统管理者手里,他在分发私钥的时候就已经决定了每个人能解哪一类的密文。密文政策的系统里,决定一个密文哪些人能解的权力在加密者手里,因为密文对应的访问结构,是加密者临时选的。
本发明的目的是在现有的可撤销身份基加密的框架基础上,将非单调属性基加密和密文政策的属性基加密方案相结合,构造出一种空间效率高效的可撤销属性基加密方案。发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。但是,应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图用来确定本发明的关键性部分或重要部分,也不是意图用来限定本发明的范围。其目的仅仅是以简化的形式给出关于本发明的某些概念,以此作为稍后给出的更详细描述的前序。
本发明以非单调属性基加密技术作为底层技术构造了一个空间高效的可撤销的基于密文政策的属性基加密技术方案。本发明的要点在于将非单调的属性基加密方案转变成可撤销的基于密文政策的属性基加密方案,其主要思路是将属性基加密中的属性集合的更新信息看作对应的身份集合的非门谓词(亦即非门逻辑运算),并使用非单调的属性基加密来生成对应于该谓词的私钥,亦即所谓的更新信息。亦即在新生成的密钥更新信息中添加了非(该属性且身份)的信息。比如张三的学生属性被撤销了,那么密钥更新信息中就出现了张三非学生所对应的信息(密钥)。由于如果用户属性的对应身份若被撤销,则根据非单调的属性基加密的定义其属性的对应解密能力将失效,因此相应地就能通过公布更新信息来控制用户属性的解密能力。本发明在空间效率上与从现有的可撤销身份基加密基础上推广出的可撤销属性基加密相比有较大的优势。私钥和更新信息大小上都降低了一个 log (η)级别。
根据本发明的一方面,提供了一种可撤销的基于密文政策的属性基密钥生成方法,其包括如下步骤输入安全参数;基于输入的所述安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥;设置属性集合,并且为用户分配与所述用户的用户身份相对应的包含在所述属性集合中的至少一个用户属性;基于所述用户的所述用户身份和所述至少一个用户属性,利用所述第一系统私钥执行私钥生成算法,以生成用于所述用户的用户私钥;设置包含在所述属性集合中的每个属性的撤销列表, 所述撤销列表表达了所述每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系;以及基于当前时刻的所述撤销列表,利用所述第二系统私钥执行密钥更新算法,以生成用于所述用户的密钥更新信息。
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基加密方法,其包括如下步骤获得通过根据本发明的密钥生成方法得到的系统公开参数;输入将要加密成密文的明文;构造访问结构,以确定能够对所述密文进行解密的用户的用户属性的逻辑关系;以及基于所述访问结构,利用所述系统公开参数、当前时刻和所述用户的用户身份对所述明文执行加密算法,以生成所述密文。7
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基解密方法,其包括如下步骤获得通过根据本发明的密钥生成方法得到的系统公开参数、用户私钥和密钥更新信息;输入通过根据本发明的加密方法获得的密文;利用所述系统公开参数、 所述用户私钥和所述密钥更新信息对所述密文执行解密算法;以及在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,生成与所述密文相对应的明文。
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基密钥生成设备,其包括输入单元,用于输入安全参数;初始化单元,用于基于所述输入单元输入的所述安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥;属性设置单元,用于设置属性集合,并且为用户分配与所述用户的用户身份相对应的包含在所述属性集合中的至少一个用户属性;私钥生成单元,用于基于所述用户的所述用户身份和所述至少一个用户属性,利用所述第一系统私钥执行私钥生成算法,以生成用于所述用户的用户私钥;撤销列表设置单元,用于设置包含在所述属性集合中的每个属性的撤销列表,所述撤销列表表达了所述每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系;以及密钥更新单元,用于基于当前时刻的所述撤销列表,利用所述第二系统私钥执行密钥更新算法,以生成用于所述用户的密钥更新信息。
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基加密设备,其包括获得单元,用于获得通过根据本发明的密钥生成设备得到的系统公开参数;输入单元,用于输入将要加密成密文的明文;构造单元,用于构造访问结构,以确定能够对所述密文进行解密的用户的用户属性的逻辑关系;以及加密单元,用于基于所述构造单元构造的所述访问结构,利用所述获得单元获得的所述系统公开参数、当前时刻和所述用户的用户身份对所述输入单元输入的所述明文执行加密算法,以生成所述密文。
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基解密设备,其包括获得单元,用于获得通过根据本发明的密钥生成设备得到的系统公开参数、用户私钥和密钥更新信息;输入单元,用于输入通过根据本发明的加密设备获得的密文;解密单元,用于利用通过所述获得单元获得的所述系统公开参数、所述用户私钥和所述密钥更新信息对通过所述输入单元输入的所述密文执行解密算法;以及输出单元,用于在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,输出与所述密文相对应的明文。
根据本发明的另一方面,还提供了一种可撤销的基于密文政策的属性基密码系统,包括根据本发明的密钥生成设备、根据本发明的加密设备和根据本发明的解密设备,其中,所述密钥生成设备生成系统公开参数、用户私钥和密钥更新信息,所述加密设备利用所述系统公开参数、当前时刻和用户的用户身份对输入的明文执行加密算法,以生成与所述明文相对应的密文,并且所述解密设备利用所述系统公开参数、所述用户私钥和所述密钥更新信息对所述密文执行解密算法,并且在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,输出与所述密文相对应的明文。
本发明在现有的可撤销身份基加密的框架基础上,将非单调的属性基加密和密文政策的属性基加密方案相结合,构造了一种可撤销的属性基加密方案。根据本发明的技术方案,可以根据属性对解密用户的私钥进行精确地撤销。现有的可撤销属性基加密方案的撤销能力,仅限于撤销系统中某一个属性,即将该属性完全从系统中剔出。在以往的这些系统中,一个属性一旦被撤消,所有拥有该属性的用户,都无法继续使用这一属性来解密密文了。相比之下,本发明的技术方案达成了对某个特定用户的特定属性进行撤销。换言之,在本发明的方案中,如果一个用户的某一个属性被撤销了,则仅仅是这个用户不再能解密与这个属性相关的密文,而其他拥有这一属性的用户的解密能力不受影响。根据本发明的撤销机制是一个全新的撤销机制。


本发明可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中
图1是示出根据本发明实施例的可撤销的基于密文政策的属性基密钥生成方法的流程图2是示出根据本发明实施例的用户属性分类的示意图3是示出根据本发明实施例的撤销集合生成例子的示意图4是示出根据本发明实施例的密钥生成方法的示意图5是示出根据本发明实施例的可撤销的基于密文政策的属性基加密方法的流程图6示出根据本发明实施例的密文产生例子的示意图7是示出根据本发明实施例的可撤销的基于密文政策的属性基解密方法的流程图8是示出根据本发明实施例的可撤销的基于密文政策的属性基密钥生成设备的框图9是示出根据本发明实施例的可撤销的基于密文政策的属性基加密设备的框图10是示出根据本发明实施例的可撤销的基于密文政策的属性基解密设备的框图;以及
图11是示出根据本发明实施例的可撤销的基于密文政策的属性基密码系统的框图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的, 而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其它元件放大了,以便有助于提高对本发明实施例的理解。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见, 在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其它细节。
—般而言,在根据本发明的技术方案中包含以下角色中的一个或多个系统建立者(初始化算法的执行者),它给出系统的公开参数(公钥),以及主秘密(主秘密分成两部分,分别给私钥生成者和密钥更新者);私钥生成者(拥有一半的主秘密),它负责生成各个用户的私钥;密钥更新者(拥有另一半主秘密),它负责撤销某些用户的某些属性,给出相应的密钥更新信息;(以上三个角色为系统管理者,下面两个角色是普通用户);加密者, 它选定某种访问结构后利用公开信息加密明文;以及解密者,它在收到密文后利用自己的私钥和密钥更新者给出的密钥更新信息进行解密。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基密钥生成方法。
图1是示出根据本发明实施例的可撤销的基于密文政策的属性基密钥生成方法的流程图。
首先,在步骤SllO中,输入安全参数。
如本领域技术人员已知的那样,加密算法、解密算法和攻击者的算法可以用一个包含安全参数κ的函数来度量,κ是在密码系统搭建时确定的。
下一步,在步骤S120中,基于输入的安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥。
下面给出初始化算法的一个具体例子。要注意的是,本发明不限于下面给出的具体初始化算法,本领域技术人员可以意识到在本领域中存在能够实现本发明的其它初始化算法,它们都处在本发明的保护范围之内。
首先,令G1为阶为素数ρ的双线性群,令g为G1的生成元。此外,令纟.G1XG1^G2 代表双线性映射。安全参数κ代表群的大小。另外,定义i e &以及、的一个元素集合j,拉格朗日系数Λ/= Π flfjejj^i 1 JO
在初始化算法中,输入为安全参数κ。从、统一随机选择α,β。令& = ga且 g2 = geo随机选择两个二阶多项式h (χ)和q(x),且满足q(0) = β。
公钥为PK:=<e,g,gl,g2 = ,,g' ,T1 (· ),T2 (· ),T3 (·) >。系统主私钥为 MK = α ο
直观上说,公钥元素Ti;Tn+i,应属性i的三种情况正属性,负属性以及无关属性。此外,公开参数定义了如下两个公开可计算函数τ,V :、一G.函数7Κχ) = 1(χ),A⑴= S2Pw,:T3W = ^2gW)且 V (X) = g*),这里 h (X)A2(X),Ii3(X)是哈希函数。此外,从&统一随机选择λ,令MK1= λ且MK2= α-λ.这里,MK1对应于本发明中的第一系统私钥,而MK2则对应于本发明中的第二系统私钥。
初始化算法是系统建立时第一个执行的算法。在输入安全参数κ的情况下,通过初始化算法可以输出系统公开参数以及主密钥MLMKpMKy
根据本发明,第一系统私钥和第二系统私钥被分配给了不同的系统管理者。具体地,第一系统私钥被分配给了私钥生成者,而第二系统私钥则被分配给了密钥更新者。这样一来,系统的安全风险被分散,从而增强了系统的安全性。
下一步,在步骤S130中,设置属性集合,并且为用户分配与用户的用户身份相对应的包含在属性集合中的至少一个用户属性。
在本发明的技术方案中,存在三种属性正属性、负属性以及用户不关心的属性。 所有明文都以如下属性结构加密,这个属性结构中所有属性都是以与门联接。每个用户的私钥的分发依据用户所拥有的属性集合分发。每个用户都有个对应的身份,并且可以有多个不同的属性。
下一步,在步骤S140中,基于用户的用户身份和至少一个用户属性,利用第一系统私钥执行私钥生成算法,以生成用于用户的用户私钥。
下面结合上面的初始化算法给出私钥生成算法的一个具体例子。同样地,本发明不限于下面给出的具体私钥生成算法,本领域技术人员可以意识到在本领域中存在能够实现本发明的其它私钥生成算法,它们都处在本发明的保护范围之内。
在私钥生成算法中,从、随机选择P i,算法输出对应属性集合S的私钥。若某属性不属于集合S则默认该属性为负属性。首先,私钥生成算法对每个如下属性i e NW、中随机选择ρ i,且令MK1 =Iil1C =义。对于每个i e N,若i e S则令只=(gWW);否则由于该属性不属于集合3则该属性为非属性,令9=(《12(0 ^^)。除外,对每个i e N, FiHgTmw用户私钥包括如下内容SKu = {〈D^Fi〉Ii GN}。
关于用户的属性分类,可参见图2,其为示出根据本发明实施例的用户属性分类的示意图,其中,i指示单个的属性,S指示分配给用户的至少一个用户属性的集合,而N则指示总体的属性集合。
私钥生成算法用于给用户分发私钥。在输入用户(例如张三)的用户身份(ID) 以及该用户对应的属性集S(例如男人、学生)的情况下,通过私钥生成算法可以输出该用户的私钥。从上述关于私钥生成算法的描述可以看出,在为特定身份的用户生成私钥时,利用了该用户的属性集合,亦即私钥之中包含了用户的属性信息。换言之,在用于用户的用户私钥中包含了关于用户的至少一个用户属性的信息。
返回到图1。下一步,在步骤S150中,设置包含在属性集合中的每个属性的撤销列表,所述撤销列表表达了每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系。
关于撤销列表,可参见图3。图3是示出根据本发明实施例的撤销集合生成例子的示意图。如图3所示,ω ω表示第i个用户的身份。假设在当前时刻,用户ω⑴的属性 Attrl和Attr2、用户ω 的属性Attr2以及用户ω 的属性Attr3被撤销,则在撤销列表中的与Attrl、Attr2和Attrf相对应的撤销集合RL中,分别出现了 { ω⑴}、{ ω⑴,ω (2)} 和{ω (3)}。换言之,在撤销列表中,每个属性都与该属性在当前时刻被撤销的用户的用户身份相对应。
返回到图1。最后,在步骤S160中,基于当前时刻的撤销列表,利用第二系统私钥执行密钥更新算法,以生成用于用户的密钥更新信息。
下面结合上面的初始化算法给出密钥更新算法的一个具体例子。同样地,本发明不限于下面给出的具体密钥更新算法,本领域技术人员可以意识到在本领域中存在能够实现本发明的其它密钥更新算法,它们都处在本发明的保护范围之内。
在密钥更新算法中,对系统中的每个属性j e N,随机选择Yj e τν。且对每个属性j eN,均有个对应的被撤销用户身份列表RL= {ωω}, e [1,r],ω ω表示第i个用户的身份。对每个属性j e N,该算法均输出对应于如下访问结构 (':)的私钥。对每个r被撤销的用户《(i),i e l,r],随机选择如下随机数Xi, Pi e (Zp)2且令6 = Σ允并公布I=I如下公开信息
Di=Cgf+W0YW')
对更新时间t,选择如下随机数ρ t e zp,公布如下更新信息
Dt={g^rr^m^gPl)
更新信息如下KUfb^AU')。
密钥更新算法用于提供密钥更新信息。在输入当前时刻的撤销列表的情况下,通过密钥更新算法可以输出对应的密钥更新信息。比如在当前的时刻,如果张三的学生属性被撤销了,则在撤销列表中的“学生”这一属性栏中会出现“张三”的对应身份。于是密钥更新信息里就出现了张三非学生所对应的信息(密钥)。换言之,在用于用户的密钥更新信息中包含了关于当前时刻的撤销列表的信息。
为了更好地描述本发明的要点,下面参照图4进行说明。图4是示出根据本发明实施例的密钥生成方法的示意图。
如图4所示,随着时间的推移,用户的属性会发生变化。举例而言,用户张三在以前的t-i时刻是学生,但在当前的t时刻毕业,已不再是学生。于是在当前的t时刻,张三的“学生”属性被撤销。属性机构会公布当前的t时刻的对应更新信息Kut。而用户则会遗弃以前的t-i时刻的对应属性密钥,并且会利用属性机构所公布的当前的t时刻的更新信息来生成更新解密密钥。这样一来,如果加密者在加密时规定解密者必须具有属性“学生”, 则用户张三因为在当前的t时刻其“学生”属性被撤销而不再能够解密。但是,在当前的t 时刻具有“学生”属性的其它用户则不受影响。因此,本发明的技术方案可以实现根据属性对解密用户的私钥进行精确地撤销。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基加密方法。
图5是示出根据本发明实施例的可撤销的基于密文政策的属性基加密方法的流程图。
首先,在步骤S510中,获得通过根据本发明的上述密钥生成方法得到的系统公开参数。
下一步,在步骤S520中,输入将要加密成密文的明文。
下一步,在步骤S530中,构造访问结构,以确定能够对密文进行解密的用户的用户属性的逻辑关系。
根据本发明的优选实施例,访问结构是包括正属性、负属性和不关心属性的属性集合的与门谓词。
最后,在步骤S540中,基于访问结构,利用系统公开参数、当前时刻和用户的用户身份对明文执行加密算法,以生成密文。
根据本发明,在密文中包含了关于能够对密文进行解密的用户的用户属性的逻辑关系的信息。
下面结合上面的初始化算法给出加密算法的一个具体例子。同样地,本发明不限于下面给出的具体加密算法,本领域技术人员可以意识到在本领域中存在能够实现本发明的其它加密算法,它们都处在本发明的保护范围之内。
在加密算法中,选择随机数s,产生如下密文E(1) =Me(gl,g2)s,E(2) = gs。除外,对于每个与门中的正属性i e I,令相应密文为T1 (i)s,对于与门中的负属性〗e/,则相应密文为:Γ2(^,对于所有不关心的属性i e N\I,令相应密文为T3(i)s。另外,产生对应更新时间t 和所有满足密文需要的用户身份ω对应密文1\(1广和 \(ω)%最终密文为
C = (Ea),E⑵,T1 (i)s, T2 (i)s, T3 (i)s, T1 (t)s,V (t)s,V (ω)s)。
加密算法用于对明文进行加密。在输入明文(待加密的消息)、访问结构的情况下,通过加密算法可以输出对应的密文。访问结构体现了属性之间的逻辑关系。加密者可以自己构造访问结构,从而对解密者的类型(由解密者的属性来体现)加以控制。例如,加密者可以将访问结构构造成“男人且学生”,使得只有属性为“男人且学生”的解密者才可以对该密文进行解密。
为了更好地描述本发明的加密方法,下面参照图6进行说明。图6示出根据本发明实施例的密文产生例子的示意图。
如图6所示,加密者在对明文“Plaintext”进行加密的同时,构造访问结构,使得解密者只有同时具有属性“Attrl”、“Attr2”和“Attr3”才能够正确解密。这里的属性 “Attrl”、“Attr2”和“Attr3”既可以是正属性,也可以是负属性。这样一来,加密者就可以通过构造访问结构来控制解密者的类型。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基解密方法。
图7是示出根据本发明实施例的可撤销的基于密文政策的属性基解密方法的流程图
首先,在步骤S710中,获得通过根据本发明的上述密钥生成方法得到的系统公开参数、用户私钥和密钥更新信息。
下一步,在步骤S720中,输入通过根据本发明的上述加密方法获得的密文。
下一步,在步骤S730中,利用系统公开参数、用户私钥和密钥更新信息对密文执行解密算法。
最后,在步骤S740中,在用户私钥中包含的关于用户的用户属性的信息符合密文中包含的关于能够对密文进行解密的用户的用户属性的逻辑关系的信息、并且密钥更新信息中包含的当前时刻的撤销列表中不包含对应于用户私钥的用户的用户身份的情况下,生成与密文相对应的明文。
下面结合上面的初始化算法、私钥生成算法、密钥更新算法以及加密算法给出解密算法的一个具体例子。同样地,本发明不限于下面给出的具体解密算法,本领域技术人员可以意识到在本领域中存在能够实现本发明的其它解密算法,它们都处在本发明的保护范围之内。
在解密算法中,若用户的身份未被撤销且用户所持密钥对应属性集合满足密文对应访问结构,则执行如下运算
对每个正属性,使用私钥A =(€A(0ft,gA)和对应密文I\(i)s做如下运算
Di=CiglTxHY',gs)l e(Tx{i)\gp')
=e(g'^,gs)
对每个负属性,使用私钥和对应密文T2(i)s做如下运算
D^eig'-T2HY-, gs)/e(T2(iY,gp·)
=e(g'^,gs)
对每个无关属性,使用私钥A =(《巧和对应密文T3(i)s做如下运算 _5] Di manVemrn
=e(g'^,gs)
使用上述结果可计算]14《^) = 6(宏2\€)。
对于更新时间仏使用更新信息/^二^^^ ^^广,容”和对应密文!^⑴^进行如下运算
Di = eigr^T, (tY' ,gs)/ e{Tx (t)s ,gp')
=e(g,- )
对所有属性j e N,如果用户对应身份为被撤销,即ω e RL,则对每个被撤销身份 ω⑴,i e [1,r],计算拉格朗日系数{ σ J,X e [ ω,t,ω⑴]满足!^叫,^产力⑷=W0) = P 。使用更新信息,计算如下部分解密密文
Ζ, = e(gx-+p' ,gs)/e(gp·,¥(ωγσ" V{t)sa').e(gs, Κ(ω( )) ⑴
=e(gA2',gs)
随后可以计算相应的部分密文
UZi=Yl<S^SS) = e(g^,gs)ie[l,r]0
因此,对所有属性j e N可计算I^dghgD^Kgf^f;^
最终,将所有上述结果相乘即可得最终的会话密钥,即e(gl,&)s。
解密算法用于对密文进行解密。在输入密文、解密用户的私钥和密钥更新信息的14情况下,通过解密算法可以输出明文。具体地,解密用户的私钥是通过上述私钥生成算法获得的,其中包含了用户的属性信息。密钥更新信息则是通过上述密钥更新算法获得的,其中含有当前时刻的撤销列表中反映的状况。以上面提到的解密用户“张三”为例。该解密用户的私钥中包含了“男人且学生”的属性。密钥更新信息则出现了张三非学生所对应的信息。当通过解密算法利用解密用户的私钥和密钥更新信息来计算最终的会话密钥时,会因为现在的解密用户“张三”已不再满足“男人且学生”的属性,所以该解密用户已无法对上述密文进行解密。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基密钥生成设备。
图8是示出根据本发明实施例的可撤销的基于密文政策的属性基密钥生成设备 800的框图。
如图8所示,根据本发明实施例的密钥生成设备800包括输入单元810、初始化单元820、属性设置单元830、私钥生成单元840、撤销列表设置单元850和密钥更新单元860。
输入单元810用于输入安全参数。
初始化单元820用于基于输入单元810输入的安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥。
属性设置单元830用于设置属性集合,并且为用户分配与用户的用户身份相对应的包含在属性集合中的至少一个用户属性。
私钥生成单元840用于基于用户的用户身份和至少一个用户属性,利用第一系统私钥执行私钥生成算法,以生成用于用户的用户私钥。
撤销列表设置单元850用于设置包含在属性集合中的每个属性的撤销列表,所述撤销列表表达了每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系。
密钥更新单元860用于基于当前时刻的撤销列表,利用第二系统私钥执行密钥更新算法,以生成用于用户的密钥更新信息。
根据本发明的实施例,第一系统私钥被分配给私钥生成单元840,第二系统私钥被分配给密钥更新单元860,并且私钥生成单元840和密钥更新单元860属于不同的系统管理者ο
根据本发明的实施例,在私钥生成单元840生成的用于用户的用户私钥中包含了关于用户的至少一个用户属性的信息。
根据本发明的实施例,在密钥更新单元860生成的用于用户的密钥更新信息中包含了关于当前时刻的撤销列表的信息。
该密钥生成设备800中的上述各个单元的各种具体实施方式
前面已经作过详细描述,在此不再重复说明。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基加密设备。
图9是示出根据本发明实施例的可撤销的基于密文政策的属性基加密设备900的框图。
如图9所示,根据本发明实施例的加密设备900包括获得单元910、输入单元920、构造单元930和加密单元940。
获得单元910用于获得通过根据本发明的上述密钥生成设备800得到的系统公开参数。
输入单元920用于输入将要加密成密文的明文。
构造单元930用于构造访问结构,以确定能够对密文进行解密的用户的用户属性的逻辑关系。
加密单元940用于基于构造单元930构造的访问结构,利用获得单元910获得的系统公开参数、当前时刻和用户的用户身份对输入单元920输入的明文执行加密算法,以生成密文。
根据本发明的实施例,构造单元930构造的访问结构是包括正属性、负属性和不关心属性的属性集合的与门谓词。
根据本发明的实施例,在密文中包含了关于能够对密文进行解密的用户的用户属性的逻辑关系的信息。
该加密设备900中的上述各个单元的各种具体实施方式
前面已经作过详细描述, 在此不再重复说明。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基解密设备。
图10是示出根据本发明实施例的可撤销的基于密文政策的属性基解密设备1000 的框图。
如图10所示,根据本发明实施例的解密设备1000包括获得单元1010、输入单元 1020、解密单元1030和输出单元1040。
获得单元1010用于获得通过根据本发明的上述密钥生成设备800得到的系统公开参数、用户私钥和密钥更新信息。
输入单元1020用于输入通过根据本发明的上述加密设备900获得的密文。
解密单元1030用于利用通过获得单元1010获得的系统公开参数、用户私钥和密钥更新信息对通过输入单元1020输入的密文执行解密算法。
输出单元1040用于在用户私钥中包含的关于用户的用户属性的信息符合密文中包含的关于能够对密文进行解密的用户的用户属性的逻辑关系的信息、并且密钥更新信息中包含的当前时刻的撤销列表中不包含对应于用户私钥的用户的用户身份的情况下,输出与密文相对应的明文。
该解密设备1000中的上述各个单元的各种具体实施方式
前面已经作过详细描述,在此不再重复说明。
下面参照附图详细描述根据本发明实施例的可撤销的基于密文政策的属性基密码系统。
图11是示出根据本发明实施例的可撤销的基于密文政策的属性基密码系统1100 的框图。
如图10所示,根据本发明实施例的密码系统1100包括密钥生成设备800、加密设备900和解密设备1000。
在根据本发明实施例的密码系统1100中,密钥生成设备800生成系统公开参数、用户私钥和密钥更新信息。加密设备900利用系统公开参数、当前时刻和用户的用户身份对输入(待加密)的明文执行加密算法,以生成与明文相对应的密文。解密设备1000利用系统公开参数、用户私钥和密钥更新信息对密文执行解密算法,并且在用户私钥中包含的关于用户的用户属性的信息符合密文中包含的关于能够对密文进行解密的用户的用户属性的逻辑关系的信息、并且密钥更新信息中包含的当前时刻的撤销列表中不包含对应于用户私钥的用户的用户身份的情况下,输出与密文相对应(解密)的明文。
该密码系统1100中的上述各个设备的各种具体实施方式
前面已经作过详细描述,在此不再重复说明。
在本发明的设备和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。 这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定。
权利要求
1.一种可撤销的基于密文政策的属性基密钥生成方法,包括 输入安全参数;基于输入的所述安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥;设置属性集合,并且为用户分配与所述用户的用户身份相对应的包含在所述属性集合中的至少一个用户属性;基于所述用户的所述用户身份和所述至少一个用户属性,利用所述第一系统私钥执行私钥生成算法,以生成用于所述用户的用户私钥;设置包含在所述属性集合中的每个属性的撤销列表,所述撤销列表表达了所述每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系;以及基于当前时刻的所述撤销列表,利用所述第二系统私钥执行密钥更新算法,以生成用于所述用户的密钥更新信息。
2.根据权利要求1所述的方法,其中,所述第一系统私钥和所述第二系统私钥被分配给不同的系统管理者。
3.根据权利要求1所述的方法,其中,在用于所述用户的所述用户私钥中包含了关于所述用户的所述至少一个用户属性的信息。
4.根据权利要求1所述的方法,其中,在用于所述用户的所述密钥更新信息中包含了关于所述当前时刻的所述撤销列表的信息。
5.一种可撤销的基于密文政策的属性基加密方法,包括 获得通过根据权利要求1所述的方法得到的系统公开参数; 输入将要加密成密文的明文;构造访问结构,以确定能够对所述密文进行解密的用户的用户属性的逻辑关系;以及基于所述访问结构,利用所述系统公开参数、当前时刻和所述用户的用户身份对所述明文执行加密算法,以生成所述密文。
6.根据权利要求5所述的方法,其中,所述访问结构是包括正属性、负属性和不关心属性的属性集合的与门谓词。
7.根据权利要求5所述的方法,其中,在所述密文中包含了关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息。
8.一种可撤销的基于密文政策的属性基解密方法,包括获得通过根据权利要求1所述的方法得到的系统公开参数、用户私钥和密钥更新信息;输入通过根据权利要求5所述的方法获得的密文;利用所述系统公开参数、所述用户私钥和所述密钥更新信息对所述密文执行解密算法;以及在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,生成与所述密文相对应的明文。
9.一种可撤销的基于密文政策的属性基密钥生成设备,包括输入单元,用于输入安全参数;初始化单元,用于基于所述输入单元输入的所述安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥;属性设置单元,用于设置属性集合,并且为用户分配与所述用户的用户身份相对应的包含在所述属性集合中的至少一个用户属性;私钥生成单元,用于基于所述用户的所述用户身份和所述至少一个用户属性,利用所述第一系统私钥执行私钥生成算法,以生成用于所述用户的用户私钥;撤销列表设置单元,用于设置包含在所述属性集合中的每个属性的撤销列表,所述撤销列表表达了所述每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系;以及密钥更新单元,用于基于当前时刻的所述撤销列表,利用所述第二系统私钥执行密钥更新算法,以生成用于所述用户的密钥更新信息。
10.根据权利要求9所述的设备,其中,所述第一系统私钥被分配给所述私钥生成单元,所述第二系统私钥被分配给所述密钥更新单元,并且所述私钥生成单元和所述密钥更新单元属于不同的系统管理者。
11.根据权利要求9所述的设备,其中,在所述私钥生成单元生成的用于所述用户的所述用户私钥中包含了关于所述用户的所述至少一个用户属性的信息。
12.根据权利要求9所述的设备,其中,在所述密钥更新单元生成的用于所述用户的所述密钥更新信息中包含了关于所述当前时刻的所述撤销列表的信息。
13.一种可撤销的基于密文政策的属性基加密设备,包括获得单元,用于获得通过根据权利要求9所述的设备得到的系统公开参数; 输入单元,用于输入将要加密成密文的明文;构造单元,用于构造访问结构,以确定能够对所述密文进行解密的用户的用户属性的逻辑关系;以及加密单元,用于基于所述构造单元构造的所述访问结构,利用所述获得单元获得的所述系统公开参数、当前时刻和所述用户的用户身份对所述输入单元输入的所述明文执行加密算法,以生成所述密文。
14.根据权利要求13所述的设备,其中,所述构造单元构造的所述访问结构是包括正属性、负属性和不关心属性的属性集合的与门谓词。
15.根据权利要求13所述的设备,其中,在所述密文中包含了关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息。
16.一种可撤销的基于密文政策的属性基解密设备,包括获得单元,用于获得通过根据权利要求9所述的设备得到的系统公开参数、用户私钥和密钥更新信息;输入单元,用于输入通过根据权利要求13所述的设备获得的密文; 解密单元,用于利用通过所述获得单元获得的所述系统公开参数、所述用户私钥和所述密钥更新信息对通过所述输入单元输入的所述密文执行解密算法;以及输出单元,用于在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥CN 102546161 A更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,输出与所述密文相对应的明文。
17. 一种可撤销的基于密文政策的属性基密码系统,包括根据权利要求9所述的密钥生成设备、根据权利要求13所述的加密设备和根据权利要求16所述的解密设备,其中, 所述密钥生成设备生成系统公开参数、用户私钥和密钥更新信息, 所述加密设备利用所述系统公开参数、当前时刻和用户的用户身份对输入的明文执行加密算法,以生成与所述明文相对应的密文,并且所述解密设备利用所述系统公开参数、所述用户私钥和所述密钥更新信息对所述密文执行解密算法,并且在所述用户私钥中包含的关于用户的用户属性的信息符合所述密文中包含的关于能够对所述密文进行解密的用户的用户属性的逻辑关系的信息、并且所述密钥更新信息中包含的当前时刻的撤销列表中不包含对应于所述用户私钥的用户的用户身份的情况下,输出与所述密文相对应的明文。
全文摘要
本发明公开了一种可撤销的基于密文政策的属性基密码方法、设备和系统。根据本发明的密钥生成方法包括输入安全参数;基于输入的安全参数,执行初始化算法,以输出系统公开参数、系统主私钥、第一系统私钥和第二系统私钥;设置属性集合,并且为用户分配与其用户身份相对应的包含在属性集合中的至少一个用户属性;基于用户的用户身份和至少一个用户属性,利用第一系统私钥执行私钥生成算法,以生成用户私钥;设置包含在属性集合中的每个属性的撤销列表,所述撤销列表表达了每个属性与所述每个属性在当前时刻被撤销的用户的用户身份之间的对应关系;以及基于当前时刻的撤销列表,利用第二系统私钥执行密钥更新算法,以生成密钥更新信息。
文档编号H04L9/32GK102546161SQ20101058724
公开日2012年7月4日 申请日期2010年12月8日 优先权日2010年12月8日
发明者张华君, 曹珍富, 林煌, 董晓蕾, 马融 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1