公钥加密与关键字搜索以及关键词猜测攻击外文翻译资料

 2022-12-04 10:41:47

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


公钥加密与关键字搜索以及关键词猜测攻击

摘要:可搜索加密是一种加密概念,它使用户能够进行对存储在不受信任的服务器上的数据加密的安全搜索。可搜索加密技术的方法可分为两大类:搜索对称加密(SSE)和公钥加密关键词搜索(PEKS)。不同于上述技术的是,PEKS方法容易受到关键字猜测攻击,其中攻击者首先生成对应所有可能的加密标签关键词。然后,通过访问一个陷门,一次匹配可以找到并搜索关键字和包含它的文件。攻击的可行确定是因为选择关键字的空间范围很小。在本文中,回顾了可搜索加密概念,关键字猜测攻击的描述和讨论了PEKS方案对这种攻击的脆弱性。接着,本文提供了一种方法企图克服这个缺点。最后提出了这一领域的问题和未来研究方向。

Ⅰ.介绍

云存储用于远程维护、管理和备份数据。这种存储模式允许用户存储在线数据,之后,他们通过互联网可以从任何位置访问它们。相比于本地存储,云存储通常更具效率,提供更容易的访问和共享数据的方法,并保存网络带宽。云存储非常有吸引力,但是其缺点限制了其应用范围。这些缺点主要存在于从用户控制中移除存储空间。使用这项服务最主要的缺点是由于不安全的存储数据:

云服务管理员访问所有数据内容;

生成更多的数据备份,从而延缓黑客访问数据;

数据在开放信道上的传输,比如互联网。

克服这些弱点的一个简单的解决办法是使用加密方法对数据进行加密,然后将它们存储在服务器上。使用这种简单的方法可以防止共享和搜索在云服务器上存储的数据。可搜索加密是一种加密概念,它除了保留加密算法的所有属性外,还提供加密数据的搜索能力。更具体地说,可搜索加密允许在非可信服务器上保密数据,同时使得它可以搜索加密数据,而无需先解密。

Song等人在2000年提出了第一个可搜索加密方案[1]。之后进行了大量研究,以提高可搜索加密方案的效率或安全性,或为此概念提供新的应用程序[2][3]。一般来说,SE技术可以分为两大类:可搜索对称加密(SSE)和关键词搜索(PEKS)的公钥加密。虽然SSE方法更有效,但只适用于外包方案。使用同一个密钥标签生成和搜索加密的数据使得这些方法在数据共享的情况下不适用。另一方面,在通过使用接收者的公开密钥来生成标签的PEKS方案中,通过使用相应的私钥来进行搜索。 因此,PEKS方案也适用于需要搜索共享加密数据的情况。

除了比SSE方法效率较低之外,PEKS方案的主要缺点是对关键字猜测攻击(KGA)的脆弱性。 Byun等人首次发起攻击[4],起源于实际应用中关键字空间小的事实。这种攻击可以分为两类:离线和在线。该分类是根据服务器在执行攻击时的存在要求完成的。在离线KGA的时候,攻击者可以自己执行攻击,在线时,服务器需要执行他的任务并将搜索结果返回给接收者。

在过去的十年中,已经通过一些研究提出了解决KGA的办法。其中一些解决方案只考虑到外部攻击者。外部攻击者可以是除服务器和数据接收者以外的任何人。其他的解决方案也试图提出安全方案,甚至针对恶意服务器。以上概述了抵制KGA的尝试办法。

在本文中,首先在第二部分,回顾了使用关键词搜索进行公钥加密的定义。然后在第三部分中,探讨了离线KGA的确切定义。此部分概述了针对这种类型的KGA的安全解决方案。之后在第四部分中,定义了这种攻击的在线版本,并提出解释了针对这种类型的KGA的解决方案。最后第五部分总结全文。

Ⅱ.关键字搜索的公钥加密:第一个定义和构造

Boneh等人介绍了使用关键词搜索(PEKS)进行公钥加密的概念[5]。PEKS方案的参与者包括云存储服务器,数据发送器和数据接收器。它包括四个(概率)多项式时间算法:Key Gen,TagGen,TrapdoorGen和Test定义如下:

Key Gen:需要输入一个安全参数,并输出一个公钥/私钥对Apub,Apriv;

TagGen:作为输入接收者的公钥Apub和关键词W,输出标签IW;

TrapdoorGen:作为输入接收者的私钥Apriv和关键字W,产生一个陷阱TW;

Test:给定接收者的公钥,如果W = W1且标签IW1 = TagGen(Apub,W1)和陷门TW = TrapdoorGen(Apriv,W),则输出“是”,否则输出“否”。

Boneh等人进一步提出了一种PEKS的结构,如图1所示。

Ⅲ.PEKS和离线KGA

离线KGA中,在拦截一个陷门后,该服务器生成与可能的关键字相对应的标签,并使用截获的陷门和每个生成的标签作为输入来执行测试算法。攻击可以由两种攻击者进行:1)攻击者内部(即服务器)和2)外部攻击者(即服务器和数据接收者以外的任何人)。攻击的可行性来自关键字空间小的事实。因此,攻击将确定相应的关键字被拦截的陷门唯一。

在这种情况下,一个非常重要的问题是,是否有可能构建一个PEKS(如第二部分所定义),具有可靠的安全性以防止离线KGA?不幸的是,在[6]中显示的答案是否定的。 因此,该领域的研究重点是引入对PEKS定义的修改,从而解决了离线KGA的漏洞。在本节的其余部分中,我们提供了具有此增强安全属性的PEKS变体概述。

使用注册关键词搜索(PERKS)进行公钥加密

在[7]中,作者提出了一种离线KGA的解决方案,称为“使用注册关键字搜索的公钥加密”(PERKS)。PERKS由五个算法组成:Key Gen,Pre-Tag,TagGen,TrapdoorGen和Test。PERKS的关键Gen和测试算法与PEKS相同。通过预标签算法,数据发送者通过将数据首先发送到数据接收者来登记索引中的每个关键字,然后数据接收者使用他的私钥来生成与每个所请求的关键字相对应的预标签。 PERKS的标签Gen和TrapdoorGen算法的工作方式与PEKS方案相同,不同之处在于,它们不接受关键字作为输入,而是接受相应的标签。

虽然该方案对外部攻击者执行的KGA是安全的,但它具有以下缺点:1)该方案需要用于传达陷阱和标签的安全通道。 2)数据接收器应始终处于在线状态。 3)在所需的通话回合方面效率不高。

用指定的测试仪(dPEKS)进行可检索的公钥加密

在[8]中提出了一种称为安全通道PEKS(SCF-PEKS)的PEKS的变体,以去除PEKS方案中所需的安全通道。在SCF-PEKS方案中,服务器拥有自己的公钥和私钥,分别用于TagGen和Test算法。这种方法可能表明离线KGA不能再由外部攻击者发起。然而,这一般是不成立的。在[9]中,Yau等表明SCF-PEKS方案中产生的陷阱即使外部攻击者也是可区分的,因此与离线KGA的安全性相比,SCF-PEKS方案优于PEKS方案。

在[10]中,Rhee等人由PEKS推出了一个名为“trapdoor indistinguishability”的新安全概念。如果外部攻击者无法区分他选择的两个挑战关键词w0和w1的陷阱,假设允许为任何非挑战关键字获取陷阱,则PEKS方案具有了陷阱不可区分性。作者随后表明,通过PEKS方案提供新的安全属性等于由外部攻击者执行的离线KGA的安全性。

基于定义的安全属性,作者对PEKS的定义进行了修改,并介绍了“与指定测试者进行可搜索的公钥加密”(简称dPEKS)的概念。 正如SCF-PEKS的定义一样,这里的服务器还配备了一对私钥和公钥。但是,与SCF-PEKS相比,在dPEKS中,服务器的公钥也用于TrapdoorGen算法。这样,新的概念可以提供陷阱的不可分辨性,因此可以防止外部攻击者执行的KGA。

众所周知的是,随机oracle模型中的安全密码协议在现实应用中部署时并不总是安全的[11]。 这是因为随机oracle模型中可证明的安全性是通过随机oracle替换散列函数获得的; 但实际上是没有哈希函数与现实世界中随机的oracle一样好。为了摆脱随机的oracle模型,在[12]中,Fang等在标准模式中提出了另一个具有可证明安全性的PEKS。然而,Fang等人的方案不如Rhee等人的方案那么有效,因此,它不能用于计算能力有限的情况。在[13]中,Guo和You克服了这个缺点,提出了在标准模型中安全有效的PEKS方案。

加密数据库(SDR)的选择性文档检索

在[14]中,Bosch等为使用同态加密方案的KGA问题提出了另一种解决方案,称为“从加密数据库中选择性文档检索”(SDR简称)。他们的想法是确保除数据接收者之外的任何人(包括服务器)都不应该能够确定在标签和陷门上运行测试算法的结果。以这种方式,攻击者通过访问陷门没有任何优势。

我们假设可能的关键字集合是{w1,...,wm}。Bosch等人的计划由五个算法组成:Key Gen,Tag Gen,Trapdoor Gen,Test和Retrieve。在Key Gen算法中,数据接收器产生一对与同态加密方案相对应的私钥和公钥。为了构建与数据相对应的标签,首先生成长度为m的二进制字符串,其中,如果对应的数据包含关键词wi,则该字符串的第i个条目为1,则相应的标签通过加密生成字符串使用数据接收器的公钥下的同态加密方案。数据接收器的私钥不在Bosch等人的方案的Trapdoor Gen算法的输入之中,因此该算法可以由任何人执行。然而,该方案的测试算法的输出是数据接收器的公开密钥下使用的同态加密的密文,因此数据接收者是唯一能够使用检索算法获得搜索结果的人。

Bosch等人的方案对两种类型的离线KGA而言都是安全的。然而,每个搜索操作需要在服务器上传输每个存储的加密数据的一位的同态加密。此外,该方案的检索算法对于与数据接收器对应的服务器上的每个存储数据都需要一个同态解密操作。因此,当存储的加密数据数量巨大时,这种方法在通信和计算成本方面效率极低。

使用模糊关键词搜索(PEFKS)的公钥加密

为了提供针对由内部攻击者进行的离线KGA的安全性,在[15]中,作者介绍了另一个称为“公钥加密与模糊关键词搜索”(简称PEFKS)的概念。与PEKS相比,PEFKS中存在两种陷阱:1)模糊陷阱和2)确切的陷阱。每个确切的陷门对应于一个关键字,每个模糊陷门对应于至少两个关键字。测试算法还分为两种算法:1)模糊测试和2)精确测试。现在,为了使用PEFKS方案搜索他的数据,接收方首先生成一对与他想要搜索的关键词相对应的精确和模糊的陷阱。然后,他将模糊的陷门发送到服务器,服务器使用接收到的模糊陷门和每个接收者的标签执行模糊测试算法,并将结果返回给他。如此一来,接收器可以使用精确的陷门和来自服务器的每个接收到的标签来运行精确测试算法来确定他的查询的确切答案。

从PEFKS方案中可以看出,在PEFKS方案中,攻击者无法执行KGA来将截取的(模糊)陷门唯一确定的相应的关键字,但是他们可以使用攻击来将可能的关键字的大小设置为数量小很多。因此,PEFKS不能解决KGA问题,只能通过确保每个模糊陷门至少对应两个关键字来降低问题的严重性,因此,PEFKS方案不能被视为对离线KGA而言是安全的。

使用指定测试人员进行可搜索的基于身份的加密(dSIBE)

在[16]中,作者考虑了可搜索的基于ID的加密(SIBE)方案中的关键词猜测攻击,并提出了一个具有指定服务器(dSIBE)的SIBE。 dSIBE背后的想法与dPEKS相同。每一方(包括服务器)都有一个身份,他从被叫做私钥生成器的受信任方获得相应的私钥。与dPEKS相同,在dSIBE中,服务器的身份用于Tag Gen和Trapdoor Gen算法,以确保提供了陷门不可区分性。后来,服务器可以使用他的私钥来执行测试算法。使用与dPEKS方案中相同的方法,使得dSIBE方案仅针对外部攻击者执行的离线KGA安全。

使用关键字搜索(APEKS)进行身份认证的公钥加密

在[17]中,作者提出了另一种针对KGA的方案(该方案将在本文的其余部分由APEKS表示)。他们的想法是以每个陷门只能应用于唯一数据发送者生成的标签的方式构建标签和陷阱。以这种方式,通过访问陷门,攻击者(不同于相应的数据发送者到该陷门)不能生成任何标签,因此,他不能执行KGA。为此,作者建议为每个数据发送者和数据接收者配备一对公钥和私钥,然后使用密钥建立方法在它们之间建立密钥。然后,每个数据发送方或者数据接收器可以使用建立的密钥来构建标签或产生陷阱。

该方案的主要优点在于它对两种离线KGA的安全性。然而,为了搜索由一组数据发送者提供的加密数据,数据接收器应该生成与每个数据发送者相对应的陷阱,并将它们发送到服务器以通过加密数据进行搜索。 因此,该方案在数据接收机的计算量和通信能力有限的情况下不适用于多方。

Ⅳ.PEKS和在线KGA

测试算法只能存在于由服务器(例如dPEKS和dSIBE)运行的PEKS的变体中,可以启动另一个版本的关键字猜测攻击(称为在线KGA)。与离线KGA相同,在这里,攻击者首先生成与所有可能的关键字相对应的标签。他还生成对应于每个标签的假密文。现在,他不是运行测试算法,而是将生成的密文和相应的标签上传到服务器上,并等待直到发出搜索查询。然后,通过在搜索结果中识别他的假密码,攻击者可以确定与搜索到的陷门相对应的关键字。

这次袭击是由Yau等人首先引入的。在[18]中,由于在线KGA通过观察搜索结果而工作,避免攻击的一个解决方案是使用私人信息检索(PIR)技术来隐藏搜索输出。然而,这种方

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[25400],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。