云计算中改进概率公钥加密的移动设备数据隐私保护方法

2020-04-18 13:15郭岗磊王晓鹏
计算机应用与软件 2020年4期
关键词:解密加密服务器

郭岗磊 王晓鹏

1(郑州财经学院实验室管理处 河南 郑州 450000)2(河南中医药大学信息技术学院 河南 郑州 450008)

0 引 言

云计算是一种可以通过网络按需访问共享池中可配置计算资源的新兴计算模型[1],通过将数据文件外包到云中,可以根据需要动态增加存储空间,无需购买任何存储设备,为大型企业和个人用户带来了诸多益处。云计算具有用户可随时随地远程访问数据并授权其他用户共享、在本地免除存储管理负担、避免硬件和软件购置成本等优点[2]。然而,云计算平台因其开放性,使其容易受到内部或者外部人员的攻击,即云服务诸多优势中也伴随一个突出问题——数据隐私保护[3],如电子邮件、健康记录和政府数据等敏感信息泄漏,甚至被黑客攻击。云服务提供商(Cloud Service Providers,CSP)通常通过防火墙和虚拟化等机制提供数据安全性保障。但是,由于远程云存储服务器不受信任,这些机制无法保护用户的隐私免受CSP本身的侵害[4]。常见敏感数据隐私保护的方法是在将数据外包到云中之前对数据进行加密,并通过基于关键词的加密数据搜索来检索数据。尽管加密算法可以防止非法访问,但它显著增加了数据所有者的计算开销,尤其是当他们拥有资源受限的移动设备和大量数据文件时。

当前,在构建云计算服务高效和安全的数据加密机制的研究中,相关学者已做了大量工作。其中常见的用来确保外包数据隐私的加密方案是基于关键词搜索,数据所有者首先在外包之前加密数据,然后通过关键词搜索或排名关键词搜索来检索数据。这些加密方案可以分为两种类型[6]:对称密钥加密和公钥加密。对称密钥加密方案允许数据所有者将其对称加密的数据外包给不受信任的服务器,然后通过陷门,搜索服务器中的特定文件。在加密和解密过程中,会占据过多CPU、内存资源和计算时间,而对于带宽、CPU和内存有限的客户端,传统的加密方案在云环境中无法很好地发挥其作用。文献[7]引入了一种新方法,以解决资源受限设备的云计算服务项目,该方法允许在加密数据库上进行多关键词排名搜索,但由于其基于数千阶的矩阵乘法运算,因此计算效率不高,且对称密钥加密存在密钥泄露危险。为避免上述问题,对称公钥搜索加密方案得到推广。文献[8]提出了一种安全且保护隐私的关键词搜索方法,用于使用椭圆曲线密码术(Elliptic Curve Cryptography,ECC)优于Fp的云存储应用程序的加密数据。然而,该方案仅支持布尔关键词搜索,即只考虑文件中是否存在关键词,未考虑与结果中这些文件的查询关键词的相关性的差异。为了在不牺牲隐私的前提下提高计算效率,文献[9]提出了一种双轮可搜索加密(Two Round Searchable Encryption,TRSE)方案,该方案支持对加密数据进行排名的多关键词搜索以进行文件检索。它采用矢量空间模型和同态加密,可以消除信息泄漏隐患,保证数据安全。然而,该方案的计算和通信成本非常大,因为查询中的每个搜索项都需要在数据所有者侧,进行多个同态加密操作,增加了不必要的通信开销,不适用于资源受限的移动设备进行云计算业务。文献[10]提出了一种可排序多关键词检索加密(Multi-keyword Ranked Search Encrypted,MRSE)方案,能够解决大部分单用户的数据加密和解密需求,但无法满足模糊检索的用户需求。

为避免上述问题,本文提出了一种有效且安全的隐私保护方案,旨在保护云中外包数据的隐私性的同时保证其完整性。在所提方案中,数据所有者首先构建文件收集索引、加密索引和数据文件,并将它们存储在云中。为了从云服务器检索存储的文件,授权用户为关键词生成陷门并发送到服务器。在接收到陷门时,云服务器搜索匹配的文件条目列表及其对应的加密相关性分数。然后,将匹配文件基于相关性排序发送回用户,用户通过解密获得原始文件。本文创新点主要体现如下:

1) 引入空间关键词搜索技术对概率公钥加密进行改进,以保证云计算中外包数据的隐私安全。

2) 资源受限移动设备在云计算加密、索引和解密文件时,空间关键词搜索能大大降低数据所有者的处理开销,减少检索器件的通信开销。

3) 将隐私保护改进算法分为设置、检索和完整性验证三个阶段,分步实现各个环节功能,有效保证了外包数据的隐私安全。

通过实验和性能分析,证明所提方案相比于现有其他方案具有更好的高效性和安全性。

1 云计算模型

1.1 系统架构

本文构建了一个云数据存储和计算系统模型,该系统主要由三个实体构成:数据所有者(DataOwner,DO)、云服务提供商(CSP)和授权用户(Authorized User,AU)。

数据所有者(DO):一个拥有大量数据存储在云中的实体,可以是具有移动受限设备的个人用户,如智能手机、PDA、TPM芯片等。

云服务提供商(CSP):为数据所有者和用户动态提供数据存储服务和计算资源的实体。

授权用户(AU):数据所有者允许授权用户使用他们的文件并与数据所有者共享一些密钥材料。授权用户将以加密形式从云中检索数据,并通过解密它们获得原始数据。

三个系统实体之间的典型交互关系如图1所示。

图1 云数据存储架构

1) 数据所有者希望以加密形式外包云服务器上的文件集,同时仍保留通过关键词搜索数据文件的能力,以实现有效的数据利用。

2) 当授权用户想要检索文件集合时,向CSP发送搜索请求。

3) CSP搜索文件并将文件的集合和文件的哈希值返回给用户。

4) 授权用户验证完整性并解密文件获得相应的明文。

1.2 系统模型

在上述系统模型中,数据所有者首先通过CSP将加密数据文件外包到云服务器中。一旦数据送达云端,数据所有者就失去了对数据的控制权,隐私泄露问题随之而来,即使CSP提供了一些标准的安全机制来规避隐私泄露的风险,但黑客攻击隐患依然无法避免。因此,提出一种有效且安全的机制来保护云中敏感外包数据的隐私。

本文考虑了对加密数据进行有效且安全的排名关键词搜索[11],具体流程为:搜索结果应根据特定的排序相关性标准返回文件,以提高用户的文件检索准确性,而无需事先了解文件收集。但是,云服务器应该不了解索引和数据,因为它们会显示针对关键词隐私的重要敏感信息。为了减少带宽,CSP仅向用户发送插入关键词的Top-k最相关文件。

1.3 威胁模型

在威胁模型中,本文主要考虑两种类型的威胁:内部攻击和外部攻击。这些威胁扰乱了云中的外包数据。

1) 内部攻击:由恶意内部人员发起,即云用户或恶意第三方用户(CSP或客户组织)自愿访问数据或披露存储在云中的数据。他们还会改变或修改数据。

2) 外部攻击:由未经授权的外部人员发起,本文假设外部攻击者可以危及所有存储服务器,以便他们可以故意访问所有者的数据。

1.4 系统目标

为了解决存储在云中的敏感数据的隐私问题,提出了一种有效且安全的隐私保护方法,其目标如下:

1) 隐私保护:确保未授权方和恶意内部人员无法从云端访问敏感数据内容。

2) 索引隐私:搜索索引或查询索引不会泄漏有关相应关键词的任何信息。

3) 效率:应以较少的计算和通信开销实现上述目标。

4) 数据完整性:检测数据的修改或删除,并保持数据的一致性。

2 改进概率公钥加密方法(IPPKE)

本文提出的改进概率公钥加密方法引入排名关键词搜索对原有算法进行改进,旨在提高数据隐私保护安全性和云计算效率。该方法首先由数据所有者为文件收集创建索引,然后加密索引和文件,授权用户生成查询并发送到服务器;当云服务器收到查询时,它会搜索相应的文件,并将Top-k匹配的文件发送给原始数据。所提IPPKE算法主要包括三个阶段:(1) 设置阶段;(2) 检索阶段;(3) 完整性验证。

2.1 设置阶段

在设置阶段,数据所有者首先生成公钥和私钥对。然后从文件集合中提取的多个关键词构建索引,计算并添加相关度列表,并将索引和文件都进行加密;最后数据所有者将加密的文件和索引分发给云服务器。此阶段数据所有者主要对文件外包进行预处理。其主要代码可以分为三个部分:(1) 密钥生成;(2) 索引创建;(3) 隐私保护。

2.1.1密钥生成

在此算法中,数据所有者生成密钥对。数据所有者选择两个大质数并计算N=pq,然后使用扩展欧几里德算法计算r和s,pr+qs=1[12]。则公钥为PK={N},私钥为PR=(p,q,r,s)。密钥生成流程如图2所示。

图2 密钥生成流程图

2.1.2索引创建

生成密钥对后,数据所有者为文件集合创建索引[13]。在保证一般性的前提下进行下一步操作,为算法创建索引。索引创建过程如图3所示。其中:I(wi)为加密前索引;I是一组关键字组;fd.t表示文件F中的术语频率;ft表示包含F中项d的项频率t的文件数;N表示文件数;j是文件的长度。循环结束后将相关性程度数据添加的文件索引。

图3 索引创建流程图

2.1.3隐私保护

创建索引后,为了确保索引和文件的隐私,数据所有者对索引和文件集合进行加密[14]。由于数据所有者方面的计算能力有限,本文使用改进概率公钥加密技术对索引和文件进行加密。相比于同态加密过程,改进概率加密技术具有更高的加密效率和安全性,其加密过程大体可分为以下几个步骤:

1) 令文件F={m1,m2,…,mn}长度为n,mi是长度为h且索引为I(wi)的二进制字符串。

2) 选择随机种子t并生成:x=t2modN。

4) 伪随机比特序列pi用索引和明文进行异或,以得到密文。

5) 生成下一个随机加密数据后,数据所有者发送加密文件集合并索引C={c1,c2,…,cn,I(wi)}到CSP。生成的比特序列xn+1发送给授权用户或保存在本地。具体流程图如图4所示。其中:I′(wi)为加密索引;pi为伪随机比特序列;mi为明文;ci为密文。

图4 隐私保护关键步骤

2.2 检索阶段

在检索阶段,数据所有者或授权用户为关键词集生成陷门并发送到服务器。然后,服务器根据陷门搜索匹配的文件及其对应的相关性分数。如果关键词与索引匹配,则服务器对匹配的基于文件相关性得分进行排名,并以排序的有序方式将文件发送给用户[15]。此阶段授权用户通过排名关键词搜索从CSP检索文件。此阶段包含三个主要步骤:(1) 陷门生成;(2) 排名关键词搜索;(3) 数据解密。

2.2.1陷门生成

在将数据存储在CSP中之后,当授权用户想要检索包含某些关键词的文件时,首先需要计算关键词wi∈w的陷门,并作为搜索请求发送到CSP。计算陷门主要流程如图5所示。

图5 陷门生成流程图

1) 用户从所有者处获取陷门信息。

2) 对于插入的关键词,计算陷门Twi,其中M为与SHA-1类似的抗冲突散列函数。在这种情况下,p是160位,r是随机密钥。

3) 用户将陷门(Twi,k)发送到CSP,其中k是可选值。

在查询陷门的生成过程中,查询节点基于伪随机函数(PseudoRandom Function,PRF)进行节点ID信息隐藏,使其ID可以得到有效的保护。

2.2.2空间关键词搜索

在此方法中,云服务器在从用户接收陷门Twi后,搜索匹配的文件,如下所示:

1) 云服务器首先通过陷门Twi找到文件的匹配条目,如果服务器获得匹配的文件标识符[16],则将它们的空间相关度存储为(id(Fij))‖(Sij);

2) 服务器根据相关性分数对匹配的文件进行排名,并发送Top-k文件给用户:Ci={c1,c2,…,ck},1≤i≤k。

空间关键词搜索的过程如图6所示。

图6 关键词排名搜索主要步骤

为搜索文件,本文假设树中有n个级别,n为整数且n>1。对于每个文件,每个树级别以累积方式存储该文件的频繁关键词的索引。服务器开始将陷门与每个文件的第一级标识进行比较。如果在第一级中比较结果找到匹配文件,则此过程继续到树中的其他级别。因此,整体搜索时间几乎与未加密数据一样有效。本文的搜索阶段重点是Top-k检索,服务器处理Top-k检索几乎与明文域一样快。

2.2.3数据解密

在从CSP接收到匹配的文件以获得相应的搜索请求之后,授权用户用私钥解密它们并获得它们的纯文本[17]。解密过程流程图如图7所示。

图7 数据解密主要流程

为了解密文件,用户需首先计算λ1、λ2、α、β以及x,然后利用x仿照数据所有者加密数据那样构造xi和pi。最后,用户通过使用密文块ci对pi进行异或来获得明文mi。

2.3 完整性验证

最后是完整性验证阶段,由于内部攻击可能导致数据损坏,或者将干扰数据添加到加密文件或者索引中,搜索结果可能会向用户返回错误文件,用户需要验证文件和索引的完整性,以确保云中存储数据的安全[18]。因此,本研究在返回的搜索结果上设计了完整性检查机制,以解决数据损坏问题。为了验证数据的完整性,本文使用抗冲突散列函数如下:

1) 数据所有者在将它们存储在云中之前计算每个文件和索引的哈希值:

δ1={Δ(I′(wi))‖φ(Fi)}1≤i≤m,1≤i≤n

(1)

式中:Δ是散列函数;m是存储数据的关键字数量;n是存储数据的文件总数。

2) 数据所有者在本地存储哈希值或者可以与授权用户共享。

3) 在收到来自用户的查询请求后,云服务器计算文件集合的索引δ2,索引并发送散列值δ2以及排序的搜索结果[19]。

δ2={Δ(I′(wi))‖φ(Fi)}1≤i≤m′,1≤i≤n′

(2)

式中:m′表示索引的关键字数量,n′表示索引的文件总数。

4) 从云服务器接收到搜索结果后,用户比较在上传到云端和从云端接受的文件集和索引的哈希值,h1与h2是否相等。

5) 如果h1=h2,用户可以确信从云服务器返回的文件具有完整性并在索引中维护正确的排名顺序,其他正确的数据在云中被破坏。

通过这种方式,所提方案可以实现加密文件完整性和安全性验证,保证数据存储的安全性。

2.4 算法安全性分析

在所提出算法的安全索引结构中,节点ID以及节点关键词都经过真实值掩盖,由于满足不可区分性,即使计算能力较强的攻击者都不能在只有输出的情况下还原出初始输入值,因此节点ID及其关键词的隐私信息都不能被云中用户获取,从而有效防止了内部攻击。

此外,在关键词查询过程中,IPPKE方法根据空间关键词Top-k方式将查询关键词集合进行了改造,使其满足语义安全性和不可区分性,有效抵御外部攻击。

3 实验分析

本节主要针对所提方法从计算成本、通信成本进行仿真实验,并在真实设备上验证对比了所提方案的加密效率和安全性。在仿真实验中,主要包括用户端和云服务端,用户端采用C语言编写,运行于2.0 GHz,8 GB RAM 的6核i7-8700 Windows 10台式计算机上,算法使用开放ssl和MATLAB库;服务器同样采用C语言编码,运行于2.4 GHz,Xeon E5620 CPU Linux平台上。用户模拟数据所有者或者授权用户,服务器充当CSP。

3.1 计算成本

计算成本主要对数据所有者、授权用户和云服务器进行评估,具体仿真结果与步骤如下。

3.1.1数据所有者

首先进行数据所有者的计算成本评估,主要测量数据所有者在设置阶段的计算成本,包括密钥生成,加密和索引构建算法。着重关注数据所有者的计算成本,用于加密文件集合,并将实验结果与现有方案进行比较。

如图8所示,IPPKE加密过程只需要1次模乘,即可加密h位明文。通过与文献[9]所提的TRSE加密技术进行对比,在加密文件较长时,本文方案所需计算成本较少,其中加密过程相较密钥生成和索引创建的计算成本可以忽略不计。

图8 数据所有者加密文件的计算成本

3.1.2授权用户

针对授权用户,对多个关键词生成陷门的计算成本进行了评估,并在检索阶段解密检索到的文件。

1) 陷门生成。如图9所示,不同算法在不同长度关键词下生成陷门所需的时间,图10所示为当关键词数量为2 500时查询关键词生成陷门的时间。在这两种情况下,所提方案由于加密了陷门,在不同长度关键词下生成陷门时间均小于TRSE方案。

图9 在不同数量的关键词上生成陷门的时间

图10 不同数量的查询关键词生成陷门的时间

2) 数据解密。从服务器接收到文件后,用户需要进行相应的解密操作才能获得相应的明文。概率公钥只需取1个幂模p-1、3个索引模q-1、p、q,n乘模N来解密文本位hn,因此具有极高的有效性。通过比较在较长文件下所提方案与TRSE的同态解密过程计算成本,得出如图11所示结果,可以看出,所提方案对于不同大小的文件所需的解密时间均小于TRSE方案。

图11 授权用户解密文件的计算成本

TRSE方案和IPPKE方案的主要区别在于前者使用同态加密和解密算法来加密和解密文件,这需要更多的计算成本,而IPPKE使用概率公钥加密和解密算法来加密和解密文件,需要较少的计算成本。同时,IPPKE方案减少了客户端的计算开销,因此相比于TRSE,IPPKE方案更适合云环境中计算资源受限的移动设备。

3.1.3云服务器

在云服务器计算成本评估方面,根据用户生成的搜索请求以及从总文件收集中选择靠前的k个文件,来测量服务器搜索匹配文件所需要的时间。图12显示了基于陷门搜索文件的时间,搜索时间包括使用B树在索引中获取文件条目列表,IPPKE的总体搜索时间与现有TRSE大体相似。图13所示为云服务器从所有匹配的文件中选择前k个文件的时间。可以看出,IPPKE对于相同ESPPP索引的Top-k文件检索时间比TRSE更短。由此可以看出在从所有文件中检索top-k个文件的服务器计算成本方面,所提方案比TRSE方案更少。

图12 服务器根据查询的关键词搜索文件的时间

图13 服务器选择Top-k文件的时间, 其中文件总数为2 000

3.2 通信成本

分析了不同方案下在文件检索过程中授权用户和服务器之间提出的通信成本,结果如图14所示。可以看出,IPPKE相比于TRSE方案大幅减少了通信开销,主要原因在于IPPKE在用户和服务器之间只使用一次通信来检索文件,而TRSE方案则仍需要两轮通信才能完成文件检索。

图14 IPPKE方案与传统TRSE方案通信成本对比

3.3 真实移动设备上的实验结果

除仿真实验外,本文同时在实体移动设备和电子邮件数据集上采用不同算法进行了相关实验。其中,移动设备为1.2 GHz,1 GB RAM的Android智能手机。

如图15-图17所示,主要分析了用户对文件加密、解密和生成陷门的计算成本。可以看出,与文献[9]所提TRSE、文献[10]所提MRSE和实时循环移位加密(Real-time Shift Encipher, RRSE)等方案相比,IPPKE由于采用了概率公钥加密和解密算法,其计算成本更低。

图15 数据所有者用于加密真实智能手机上文件 的计算成本

图16 授权用户在真实智能手机上解密文件的计算成本

图17 在真实智能手机上生成不同数量关键词的 陷门时间

从实验结果中可以看出,在计算资源受限的智能手机等移动设备端,所提方案在数据解密和加密过程中的计算成本均远低于RRSE、MRSE和TRSE等方案。同时,在查询关键词所用时间方面,所提方案在不同数量关键词下的查询时间约为传统方法的一半,证明了所提方案在保证外包数据隐私方面的有效性。

4 结 语

针对云计算中资源受限的移动设备外包数据隐私安全,提出了一种基于改进概率公钥加密和排名关键词搜索的高效安全隐私保护方法。通过使用不同于其他加密算法的概率公钥加密技术对云中文件进行加密,改进关键词排名搜索降低了搜索过程的时间和计算成本,从而提高了所提隐私保护方案的效率;通过数据完整性验证和实验分析,证明了IPPKE方案在加密前后文件数据的完整性和有效性等方面都符合预期要求。但在搜索大量数据时,尤其是在大数据环境下,本文采用的排名关键词搜索机制会占用较大的服务器资源导致效率低下和搜索精度的下降。后期可以通过权衡排名搜索效率,更新字典和相关性分数,使本文方案在大数据环境下提供有效和可靠的在线信息检索,以完成数据的隐私保护。

猜你喜欢
解密加密服务器
解密电视剧 人世间
炫词解密
保护数据按需创建多种加密磁盘
炫词解密
炫词解密
谷歌禁止加密货币应用程序
2018年全球服务器市场将保持温和增长
加密与解密
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵