作为数据安全的重要研究方向,可搜索加密和云数据完整性审计技术近年来得到了学术界广泛的关注。两种技术相结合会不会产生1 1大于2的效果?本文将介绍发表在IEEE TDSC上的最新工作:基于关键词且实现敏感信息隐藏的云数据完整性审计方案[1]。
一. 研究背景
在同态签名的妙用:云数据完整性审计技术(一)文章中,我们介绍了云存储完整性审计的背景、技术实现以及国内外的相关工作。作为数据安全重要的研究内容,云数据完整性审计技术可以高效地检测保存在云服务器上的用户数据的完整性。
在云数据存储的场景下,人们可以很方便的将他们大量的文件外包存放在中心化的云服务器上。以电子医疗病历(Electronic Medical Record,EMR)为例,医生将病人的EMR上传到云服务器上,其他科室的医生以及研究人员可以访问这些数据。电子病历的正确性和完整性至关重要,因为被篡改的电子病历可能导致错误的诊断,甚至是病人的死亡。因此就需要对电子病历的正确性和完整性进行验证。完整性审计任务通常由第三方验证者TPA来执行,因为TPA有着用户所没有的强大的存储、计算资源。
通常来说,在云存储完整性审计方案中,TPA会采取“pay-as-you-go”方式,根据审计任务的数量来向用户收费,审计的数据越多,用户的花费就越大。根据Internet Data Center的调查,到2020年,每个用户将会拥有高达5200GB的数据[2]。如果审计全部这些数据,将会给用户带来巨大的经济负担。除此以外,也会造成不必要的资源浪费。在大多数的情况下,用户只关心近期将要使用的文件的完整性。例如,当病人来医院治疗的时候,医生只关心这个病人电子病历(EMR)的完整性。当医疗科学家将要进行糖尿病研究,他们或许只关心包含关键词“糖尿病”或“血糖”的EMR完整性。在这些情形中,如果只去审计包含指定关键词的文件(而不是用户全部的文件),将会更加的高效。
为了解决上述的问题,论文[1]提出了一个新的概念:基于关键词并且实现敏感信息隐藏的云存储完整性审计方案。本文将对此方案做详细的介绍。
二. 系统模型
方案包括:用户、云服务器、第三方审计者(TPA)。
图1 系统模型图
用户:用户想要上传大量加密的文件到云服务器,他生成安全索引和认证器。为了允许TPA检测包含关键词的所有文件的完整性,用户将搜索陷门发送给TPA。
云服务器:云服务器有强大的存储空间和计算能力。当收到指定关键词的审计挑战时,云服务器首先通过安全索引查找对应的加密的文件。然后云服务器根据审计挑战计算审计证明,并把它返回给TPA。
TPA:TPA为用户执行审计任务。TPA在审计阶段与云服务器交互,检测包含查询关键词文件的完整性。
三. 问题与挑战
云服务器上的文件通常是以密文的形式存储的。当用户想要检查包含他感兴趣的关键词的所有文件的完整性的时候,用户只提供给TPA加密的关键词(搜索陷门),这使得基于关键词的云存储审计方案很难实现。具体来说,面临下述两大挑战:一、对于TPA来说,如何在不知道哪些文件包含指定关键词的情况下完成审计任务。当TPA不知道有哪些文件包含查询的关键词,恶意的云服务器可以生成合法的审计证明,而这个审计证明可能是由不包含这个关键词的文件,或者只是包含这个关键词的部分文件来生成的。二、在审计过程中,如何让TPA不能获得敏感信息,例如哪些文件包含这个关键词,多少文件包含这个关键词。因为TPA的职责只是执行审计任务,这些敏感信息不应该暴露给TPA。这种敏感信息可能会泄露哪个关键词更重要,甚至会泄露文件之间的内在联系。
四. 解决方案
为了解决上述挑战,论文提出了一个基于关键词并且实现敏感信息隐藏的云存储完整性审计方案,TPA可以检测包含指定关键词的所有文件的完整性。当且仅当云服务器正确地存储着所有包含这个关键词的文件,云服务器所提供的审计证明才可以通过验证。除此以外,TPA不能获得任何敏感信息,例如有哪些文件包含查询的关键词以及多少文件包含查询的关键词。
传统PDP方案中[3],每一个数据块cj所对应的认证器的形式通常为:
在实际中,文件身份的哈希值是认证器中的一个关键组成部分。TPA用文件身份和用户的公钥来验证审计证明。因此,如果直接运用PDP技术,TPA必须知道相对应的文件身份来执行审计任务。换句话说,TPA需要知道有哪些文件包含查询关键词。为了实现敏感信息隐私,所有包含查询关键词的文件的身份需要在审计证明中被隐藏。同时,包含查询关键词的所有的文件的完整性也应该被验证。为了实现这个目标,论文设计了一个新颖的标签,叫做“关系认证标签(RAL)”,并把它加入到安全索引中,如图2所示。RAL是方案的核心:RAL不仅仅可以认证文件和查询关键词之间的关系,还可以被用作消除敏感信息,例如哪些文件以及多少个文件包含查询的关键词。
图2 安全索引
方案细节:图3展示了本方案的流程。1)用户首先执行Setup,IndexGen,AuthGen这三个算法来生成加密的数据块、认证器和安全索引。然后用户将它们上传到云服务器。2)用户执行TrapdoorGen算法生成搜索陷门,把它发送给TPA。这个搜索陷门包含加密的关键词。3)TPA执行算法,生成ChallGen审计挑战,并把它发送给云服务器。这个审计挑战包含搜索陷门;搜索陷门可以使得云服务器找到相对应的文件。审计挑战还指定了TPA查询哪些数据块。4)云服务器执行算法ProofGen,从数据库中查询并且找到相对应的数据块和认证器。然后云服务器计算审计证明,并把它返还给TPA。最终TPA检测这个审计证明的正确性。
图3:方案流程
五. 总结
云数据完整性审计方案可以高效地检测保存在云服务器上的用户数据的完整性。在这次文章中,我们分享了发表在CCF A类期刊IEEE Transactions on Dependable and Secure Computing上的论文Checking Only When It Is Necessary: Enabling Integrity Auditing Based on the Keyword with Sensitive Information Privacy for Encrypted Cloud Data。论文提出了一个新的概念:基于关键词并且实现敏感信息隐藏的云存储完整性审计。论文并不仅仅只是将可搜索加密和完整性审计简单的结合,而是设计了一个新的标签RAL,解决了隐私和效率上的问题。由于篇幅的原因,具体的算法、安全性分析在这次分享中并没有列出,感兴趣的同学可以参考论文[1].
参考文献
参考文献
[1] Gao X, Yu J, Chang Y, et al. Checking Only When It Is Necessary: Enabling Integrity Auditing Based on the Keyword with Sensitive Information Privacy for Encrypted Cloud Data[J]. IEEE Transactions on Dependable and Secure Computing, 2021
[2] Li Y, Yu Y, Min G, et al. Fuzzy identity-based data integrity auditing for reliable cloud storage systems[J]. IEEE Transactions on Dependable and Secure Computing, 2017, 16(1): 72-83.
[3] Ateniese G, Burns R, Curtmola R, et al. Provable data possession at untrusted stores[C]//Proceedings of the 14th ACM conference on Computer and communications security. 2007: 598-609.
内容编辑:创新研究院 高 翔
责任编辑:创新研究院 陈佛忠
本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。