本文是一篇EI/SCI论文代写,本文在新的抗内部关键字猜测攻击的 PEKS 方案中,新方案虽然提高了加密数据的安全性,但是由于在密文生成时加入了数据拥有者的私钥,导致一个用户只能检索一个数据拥有者上传的数据,从“多对一”变为了“一对一”的模式。因此,未来可改进加密方式,在保证方案安全性和高效性的同时,实现可搜索加密向“多对多”模式的扩展。
第一章 绪论
1.1 研究背景与意义
大数据时代,人们在日常生活和工作中产生和使用的数据规模在不断的增大,数据量已经由 PB 的规模向着 EB 和 ZB 的规模发展[1],如何存储和处理这些大规模数据成为信息化发展过程中的大难题。云计算(Cloud Computing)技术[2]的快速发展有效的解决了这些问题。云计算是一种通过 Internet 可提供动态、易扩展、虚拟化的计算资源的计算方式,它可以将分布在各个区域的系统资源集中管理,可充分满足用户的各种需求。而云存储(Cloud Storage)[3,4]是云计算的一种应用模式,它有着高效的远程存储数据的能力,能提供在理论上近乎无限的存储空间,且云存储服务提供商 CSP(Cloud Storage Provider)会对已上传数据进行管理,能有效地避免存储空间的浪费。使用者只需要通过网络,便可在任何时间和地点来查询云存储中的数据。因此,云存储得到了人们的广泛关注和应用。目前,云存储主要分为三类[5]:
(1)公共云存储:价格较低,可提供海量的存储空间,并能保持用户存储和应用的独立性。
(2)内部云存储:云放置于企业防火墙内,用户存储时将拥有控制权。
(3)混合云存储:可同时提供上述两种存储服务,主要根据用户的实际需求来进行设计。
云存储应用之初,大多数用户都是以明文的形式将数据上传,由于云存储具有开放性、分布性等特点,用户无法实际控制存储在服务器的数据,一旦数据被外部攻击者截获,或被恶意的云存储服务提供商泄露,损失将无法挽回。例如:2014 年苹果公司的 iCloud 由于存在安全漏洞遭受到黑客的恶意攻击,导致许多用户的隐私被泄露,苹果手机用户的数据安全受到严重威胁。而文献[6]也针对亚马逊云服务(Amazon EC2)的一系列问题,通过对虚拟机侧的通道进行攻击,展示了云是如何不安全的。因此,上传数据的安全性和隐私问题越来越受到人们的重视。
1.2 国内外研究现状
由于传统的基于明文关键字的检索模型无法在密文下进行检索,Song 等人[7]基于对称密码体制提出了可搜索加密的概念,并设计了一个可在密文下检索的可搜索加密方案,但该方案因需要全文扫描所以效率不高。2003 年,Goh 等人[8]提出了安全索引的概念,并构建了基于布隆过滤器[9]的 Z-INX 方案。之后,Curtmola 等人[10]基于之前的研究,标准化了对称可搜索加密,并阐述了 SSE 的安全目标。Kamara 等人[11]设计了一个动态的 SSE 方案,可动态更新索引。随后,Cash 等人[12]提出了一个连接多关键字的可搜索加密方案,该方案的检索时间复杂度是次线性的。Islam 等人在文献[13]也设计了一个基于无证书的指定服务器的 SSE 方案,该方案可成功抵抗离线关键字猜测攻击。虽然 SSE 方案相比于 PEKS 方案执行效率更好,但是方案只适用于单用户搜索场景,且一直存在着密钥分发等问题。
2004 年,Boneh 等人[14]基于公钥加密体制[15]提出了公钥可搜索加密的概念,并设计了一个应用于邮件路由分发场景的 PEKS 方案,将不同的邮件分发到不同的设备中,公钥可搜索加密允许服务器根据接收到的陷门对不同关键字的邮件来选择分发路由,而不会泄露邮件内容。随后,Water 等人在文献[16]中设计了一个新的 PEKS 方法,可通过加密日志来进行检索数据。Golle 等人[17]也提出了连接关键字的 PEKS 方案,该方案可同时检索多个关键字。Xu 等人[18]在 2016 年提出了一个基于合数阶双线性对的 PEKS 方案,跟其他方案相比,该方案具有更短的系统参数,方案的安全性可通过合数阶双线性对的子群不可区分性来证明。PEKS 方案相比于 SSE 方案应用范围更广,最近研究者们基于各种应用场景提出了许多新的 PEKS 方案,例如应用于物联网中的方案设计[19-21], 应用于电子医疗系统的方案设计[22-24]。
第二章 相关背景知识介绍
2.1 可搜索加密方案
可搜索加密是一种新的密码原语,它使云存储服务器能够直接检索数据密文,而无需知道关键字的内容和搜索的数据密文的内容,极大地提高了密文的检索效率。可搜索加密根据加密体制的不同,可分为基于对称密码体制的 SSE 方案和非对称的 PEKS 方案。其中 PEKS根据有无安全信道又分为:安全信道下的 PEKS 和无安全信道的 SCF-PEKS 两种。下面将主要介绍这三种可搜索加密方案。
2.1.1SSE 方案
SSE 方案主要涉及三类参与者:发送者(数据拥有者),云服务器和接收者(用户)。
(1)发送者(数据拥有者):发送者负责对上传数据提取出关键字进行加密,生成关键字的可搜索密文,并加密上传数据,最后将两者一起存储到云服务器。
(2)接收者(用户):接收者可下载数据,下载前会对存储的数据进行查询,将查询的关键字加密生成陷门后传给云存储服务器并等待结果。
(3)云存储服务器:云存储服务器主要提供存储和检索服务,根据关键字密文和陷门执行测试算法,并将检索的数据集合发给接收者。
根据上述对方案参与者的介绍,SSE 方案的执行过程如下图 2.1 所示。
2.2关键字猜测攻击
理想情况下,关键字空间应该是无限的,但 Byun 在文献[34]中指出,在实际应用中,用户通常选择具有特定含义的关键字,从而导致关键字空间的信息熵相对较小。因此,攻击者能够遍历整个关键字空间来发起关键字猜测攻击。
发起关键字猜测攻击的对象主要分为内部和外部攻击者。外部攻击者是排除接收方和数据存储服务器的恶意实体,该攻击者可以通过监控存储服务器与目标用户之间的传输信道,拦截关键字密文和关键字陷门,并通过遍历关键字空间来获取密文或陷门中的关键字。内部攻击者指的是恶意的数据存储服务器。由于能够执行测试算法,该攻击者能够检查关键字密文是否包含与关键字陷门相同的关键字。显然,内部攻击者比外部攻击者更强大。关键字猜测攻击具体分为如下三种攻击方式:
(1)外部离线关键字猜测攻击(Outside offline Keyword Guessing Attack)。由外部攻击者发起,一旦捕获到关键字陷门,攻击者便通过遍历关键字空间,以离线方式攻击陷门,猜测出关键字。在不同的方案中,外部离线关键字猜测攻击的攻击方式有一定的不同。在 PEKS方案中陷门传送需要安全信道,若无法确保关键字陷门的传输安全,外部攻击者将能够轻易地获取信道中传输的关键字陷门,再加上外部攻击者可利用接收者的公钥对猜测的关键字进行加密,伪造出可搜索密文后,利用服务器运行测试算法即可判断猜测的关键字的正确性。而在 SCF-PEKS 方案中,虽然攻击者无法执行测试算法,但关键字陷门算法的设计缺陷也是造成该攻击的原因,外部攻击者利用公布的系统参数,遍历关键字空间直接攻击截取的陷门,从而获取陷门中的关键字。
(2)外部在线关键字猜测攻击(Outside online Keyword Guessing Attack)。外部攻击者首先准备所有可能的关键字空间,利用相关公钥创建包含这些关键字的可搜索密文,之后,攻击者充当发送者将伪造的可搜索密文发送给云存储服务器,并监视数据存储服务器和接收者之间的通信。一旦观察到返回的检索结果中包括之前注入的可搜索密文,攻击者就可知道接收者发送的陷门中的关键字。
第三章 基于合数阶双线性对的可搜索加密方案............................. 16
3.1 系统模型和安全模型 ............................... 16
3.1.1 系统模型 .......................................... 16
3.1.2 安全模型 ...................................... 17
第四章 抗内部关键字猜测攻击的公钥可搜索加密方案 ........................... 26
4.1 系统模型和安全模型 ................................ 26
4.1.1 系统模型 ................................. 26
4.1.2 安全模型 ........................................ 27
第五章 可搜索加密系统的实现与分析 ......................................... 40
5.1 需求分析 ............................................... 40
5.1.1 设计目标 ................................ 40
5.1.2 用户功能需求 ...................................... 40
第五章 可搜索加密系统的实现与分析
5.1 需求分析
5.1.1 设计目标
本系统的设计目标是以改进的基于合数阶双线性对的可搜索加密方案为核心,实现一个既能让用户安心上传加密数据,又能快速的对加密数据进行检索和下载,并在检索和下载过程中保证数据的安全性与隐私性。
此外由于在第三章中,未设计具体实验来分析改进方案的性能,因此,可通过使用和测试本系统,分析在实际的云存储环境下改进的可搜索加密方案的效率。改进方案的核心算法主要有 SCF-PEKS、Trapdoor 和 Test,系统将根据这三个算法对文件上传、检索和下载功能进行设计,并通过对本系统中各项功能的测试,统计各个算法的实际效率。系统也可为本文所提的其他方案实现提供平台支持,从而比较不同方案间的优缺点。
5.1.2 用户功能需求
可搜索加密的概念是针对云存储中加密数据的检索效率问题而提出,因此,根据可搜索加密的对象,本系统用户分为数据发送者和数据接收者。数据发送者主要负责加密关键字,并上传加密数据和可搜索密文;而接收者通过生成并发送关键字陷门的方式向云存储服务器提出检索请求。并且两者的身份可以相互转换,即数据接收者可以成为发送者,将本地数据上传到云端,而发送者也可从云端获取本地没有的数据,所以在本系统中统称为用户。系统除了上述用户所需的对数据的上传、检索和下载功能外,还应有其他基本功能,例如:登录、注册、用户数据管理等。下图 5.1 根据系统用户的实际功能需求,明确了本系统应具备以下功能。
第六章 总结与展望
6.1 工作总结
本文主要研究了云存储中的可搜索加密方案,研究成果和工作总结如下:
在第三章中,对基于合数阶双线性对的可搜索加密方案进行总结与分析。首先对最近提出的两个基于合数阶双线性对的可搜索加密方案进行研究与分析,发现两个方案虽然有良好的密文和陷门尺寸,但是均未考虑关键字陷门的不可区分性,容易受到外部攻击者对陷门发起的离线关键字猜测攻击。为了解决这个问题,本文在文献[28]方案的基础上提出了一个改进的可搜索加密方案,通过添加合适的参数,保证了关键字陷门的不可区分性,从而能抵御外部离线关键字猜测攻击。最后本文通过安全性分析和性能比较,证明了改进方案在与原方案拥有相当的计算复杂度和良好的密文、陷门尺寸的基础上,具有更好的安全性能。
在第四章中,对抗内部关键字猜测攻击的公钥可搜索加密方案进行研究。由于现有的大多数公钥可搜索加密方案都是利用云服务提供商和用户的公钥对关键字进行加密,因此,可搜索密文是可被伪造的。恶意的云服务提供商可伪造密文并利用云存储服务器进行内部关键字猜测攻击。本文针对这一问题,设计了一个新的基于合数阶双线性对的公钥可搜索加密方案,新方案利用数据拥有者的私钥和用户的公钥对关键字加密,保证可搜索密文的不可伪造。且该方案的密文和陷门满足不可区分性,能成功抵御内部关键字猜测攻击的同时,也拥有良好的密文、陷门的尺寸,最后通过实验比较其他方案证明新方案有更好的检索效率。
在第五章中,对第三章中改进的基于合数阶双线性对的可搜索加密方案进行了实现。以该方案为核心,利用 Java 语言和 JPBC 密码学包设计了一个可搜索加密系统,并租用了一台阿里云服务器模拟云存储环境,之后将系统部署在阿里云服务器上。该系统的主要功能包括文件上传、文件检索以及文件下载等功能。本章还对该系统进行了完整地测试,从实验数据分析系统和改进方案的性能,实验结果表明系统在实际云环境下具有良好的效率。
参考文献(略)