摘要
含等值测试的公钥加密(PKEET)允许测试者在不解密的情况下,检查用不同公钥加密的两个密文是否包含相同的消息。本文首先将组机制引入到PKEET中,提出了一种新的原语,即带相等测试的组公钥加密(G-PKEET)。G-PKEET可以抵御测试人员通过穷尽猜测离线消息从给定的信息中恢复消息的攻击。此外,分组机制使PKEET支持组粒度授权,可以授权测试人员只对组用户的密文进行相等性测试,大大降低了陷门的存储成本和计算和通信成本。我们定义了G-PKEET的安全模型,给出了它在双线性对中的具体构造,并证明了它在随机oracle模型中的安全性。
引言
Public key encryption with equal test (PKEET),由Yang等人[26]提出,是一种多用户环境下的可搜索加密,测试者不需要解密就可以检查在不同公钥下加密的两个密文是否包含相同的消息。它的典型应用包括云中的加密数据管理和加密电子邮件系统中的垃圾邮件过滤。由于其潜在的实用价值,在Yang等人的工作之后,已经提出了大量的PKEET方案(如[5,13,15,18 - 20])。
然而,PKEET容易受到离线消息恢复攻击(OMRA),这种攻击是由Tang[18]首先描述的。粗略地说,给定一个密文C,测试者的对手的目标是找出隐藏在密文C中的正确消息。它从消息空间M对猜测消息M'进行加密,生成密文C',然后对C'和C进行相等检验,就可以知道猜测消息M'是否是密文C的底层消息。当实际消息空间M为多项式大小时,可以通过对每个M’∈M进行检查,找出正确的消息。由于期望的相等测试功能,这种攻击是不可避免的,类似于使用关键字搜索的公钥加密(PEKS)[1]中的内部关键字猜测攻击(IKGA)。到目前为止,如何在PKEET中抵抗OMRA仍然是一项具有挑战性的任务。
此外,我们认为目前PKEET的授权机制[5,13,15,18]不适合组用户场景。以图1为例,将UA、UB、UC和UD设为PKEET系统中的用户,具有授权机制。
G1组中的UA和UB希望测试者只对他们的密文执行等值测试。G2组的UC和UD也希望测试者只对他们的密文进行等值测试。授权机制要求UA、UB、UC和UD分别向测试人员发放其活动门tdA、tdB、tdC和tdD。请注意,当测试人员得到用户(如UA)的陷门时,可以对该用户的密文和任何用户的密文(如U B、UC或UD的密文)进行等值测试。因此,当测试者得到tdA、tdB、tdC和tdD时,就可以自由地对UA、UB、UC和UD的密文进行相等测试(见图1)。显然,图1中测试者的行为超出了他们的预期。总之,这种类型的用户粒度授权不适合组用户场景。在PKEET应用程序中,我们需要组粒度授权。
相关工作
抵抗OMRA。OMRA具有内在的原因:
(1)独立检测。该测试仪可独立进行等性试验。
(2)公开生成密文。
测试人员可以为任何猜测消息生成密文。根据第一个原因,Ling等人[10]、Ma等人[14]、Tang[19]、Wu等人[23]在不下结论的假设下,利用两台服务器来抵抗OMRA。由于两台服务器都不能独立执行相等测试,所以攻击不会成功。根据第二个原因,Ling等[11]和Wu等[24]禁用了公开生成密文的功能。由于测试人员不能加密任何猜测消息,因此消除了攻击。[11,23,24]是基于身份的加密是毫无价值的。
抵抗IKGA。已经有人提出了一些PEKS方案[2,3,6,21]来抵抗IKGA。Chen等[2,3]和Wang等人[21]采用双服务器设置,并假设两个服务器不串通。在[6]中,发送方使用自己的私钥和接收方的公钥对关键字进行加密,发送方使用自己的私钥和接收方的公钥对关键字进行加密,服务器在不知道发送方私钥的情况下,无法对任何用于启动IKGA的猜测关键字进行加密。但是这些方案缺乏期望的相等测试功能。
带授权机制的PKEET。PKEET的概念是由Yang等[26]提出的,但它只能在选择密文攻击(owl - cca)安全下对任何实体实现单向攻击。因此,Tang[18]、Ma等[13,15]和Huang等[5]分别在PKEET中引入了不同的授权机制。他们的方案对经过用户授权的攻击者实现了OW-CCA安全性,对未经用户授权的攻击者实现了选择密文攻击(IND- CCA)下的不可区分安全性。它们的授权机制被广泛应用于几乎所有的PKEET方案中。但是,它们不支持组粒度授权,因此不能在组用户场景中使用。
我们的工作
本文首先在PKEET中引入组机制,提出了一种新的原语,即带相等测试的组公钥加密(G-PKEET)。
分组机制简介。G-PKEET系统模型如图2所示。
这涉及到三个方面:受信任组管理员(GA)、测试人员和用户。当用户希望加入组时,GA根据他的公钥向他颁发组公钥。当GA希望授权测试者只对组用户的密文进行等值测试时,就会向测试者发出一个组陷门。
我们列出G-PKEET的性质如下。
我们列出G-PKEET的性质如下。
抵抗OMRA。为了抵抗OMRA, Wu等人[24]和Ling等人[11]禁用了公开生成密文的功能。但他们的方案要求所有用户保留相同的保密信息,然后将这些保密信息作为加密消息的输入部分。与它们类似,G-PKEET也不允许公开生成密文,但所有用户不需要保存相同的保密信息。每个用户都将自己的私钥作为加密消息的输入部分。与[11,24]相比,G-PKEET提供了更好的对抗OMRA的对策。
组粒度授权。组机制支持组粒度授权,可以授权测试人员只对组内用户的密文进行相等性测试。在加密消息时,每个组用户都将自己的组公钥作为输入的一部分,以便将组信息附加到生成的密文中。如果两个密文包含不同的组信息,则不能进行相等性检验。
通过上面的例子,UA、UB、UC、UD通过组粒度授权可以实现预期(如图3所示)。
组陷门。对测试器进行授权时,组机制使用的是组陷门,而不是用户的陷门。
使用图4中的例子,如果有n组用户授权测试人员,授权机制要求他们分别生成n个陷门,然后测试人员存储这n个陷门,但是组机制要求GA生成1组陷门gtd,然后测试人员存储这1组陷门。显然,分组机制不仅可以大大降低陷门的存储成本,而且可以大大降低计算和通信成本。
比较属性。在表1中,我们比较了G-PKEET和大多数PKEET方案[4,5,7-10,12-16,18-20,22,25-27]的性质。
使用图4中的例子,如果有n组用户授权测试人员,授权机制要求他们分别生成n个陷门,然后测试人员存储这n个陷门,但是组机制要求GA生成1组陷门gtd,然后测试人员存储这1组陷门。显然,分组机制不仅可以大大降低陷门的存储成本,而且可以大大降低计算和通信成本。
比较属性。在表1中,我们比较了G-PKEET和大多数PKEET方案[4,5,7-10,12-16,18-20,22,25-27]的性质。
第二至第四列分别显示离线消息恢复攻击、组粒度授权和组trapdoor的抵御能力。由表1可知,G-PKEET和[10,14,19]可以抵抗OMRA。只有G-PKEET支持组粒度授权和组陷门功能。总之,G-PKEET具有广阔的应用前景。
我们的贡献
本文的贡献可以总结如下。我们首先在具有相等测试的公钥加密中引入组机制,提出了一种新的原语,即具有相等测试的组公钥加密(G- PKEET)。G-PKEET可以抵御测试人员通过穷尽地离线猜测消息从给定的密文中恢复消息的攻击。此外,分组机制使PKEET支持组粒度授权,不仅大大降低了活板门的存储成本,而且大大降低了计算和通信成本。我们定义了G-PKEET的安全模型,并给出了其在双线性群中的具体构造。在随机oracle模型中,证明G-PKEET方案对组管理员授权的攻击者具有OW-CCA安全性,对未授权的攻击者具有IND-CCA安全性。
论文组织
在接下来的部分中,我们会给出一些初步说明。第三节给出了G-PKEET的定义和安全模型,第四节给出了G-PKEET的构造。在第5节中,我们给出了G-PKEET的安全性分析。在第6节中,我们将G-PKEET方案与相关的PKEET方案进行比较。最后,在第7节对本文进行总结。