位置:首页 > 网络安全
同态签名的妙用:云数据完整性审计技术(一)
随着数据规模增长,越来越多的用户选择将他们的文件外包存储在第三方的云服务器上。然而,数据的外包会带来一系列的安全问题,例如云服务器的硬件故障、黑客入侵篡改等会导致用户数据的损坏。更严重的是,云服务器为了保护自己的声誉可能掩盖数据受损的事实,甚至会伪造用户的数据。云数据完整性审计技术是一种关键的数据安全技术,用来解决上述的问题。本系列文章聚焦在云数据完整性审计技术,分别介绍1)云数据完整性审计技术的背景及密码学技术;2)保证低熵值安全的,并且实现文件和认证器去重功能的云数据完整性审计方案。3)基于关键词且实现敏感信息隐藏的云数据完整性审计方案。本文作为第一篇,将从相关背景、密码学知识、协议流程以及研究现状进行介绍,使得读者对云数据完整性审计技术有一个入门级的基本了解。
一、研究背景
云计算技术有着低成本、便捷等优势,近年来得到广泛应用。越来越多的企业机构和个人用户选择将自己的本地数据上传到云服务器上,享受云服务器带来的便利,减轻本地存储管理和维护负担。对于个人用户而言,由于本地存储空间的限制,随着数据规模的日益增长,自己管理和存储这些海量的数据变得尤为困难。越来越多的用户采取云存储服务,例如百度云,因为这些云服务商有着用户所没有的巨大的存储资源和计算能力。但是数据的外包带来一系列的安全问题:数据的完整性和正确性无法得到保证。云服务商的硬件故障可能导致用户的数据受损,用户的数据甚至可能遭到篡改。云服务商出于自己声誉的考虑,可能不会通知用户数据受损的事实。而当用户想要使用文件时,才会发现文件无法正确地被提取。因此就需要对存放在远程云服务器上的数据的完整性进行检测。
传统的数字签名、消息认证码MAC以及哈希函数[1-4] 可以检测数据的完整性。用户为每个数据块计算一个认证器,这个认证器可以是上述的数字签名或MAC值等。用户将它们连同数据块一起上传到云服务器上。当用户想要检测文件的完整性的时候,将要求云服务器将文件连同认证器一起返回给用户。但是这种直观的方法在云存储、大数据的背景下并不合适。这是因为当云存储的数据量较大时,验证这些海量文件的完整性需要耗费巨大计算和通信开销。为了解决这个问题,云数据完整性审计的概念被提出来。在云数据完整性审计中,用户所计算的认证器具有同态的性质,也就是说,多个数据块可以聚合成一个数据块,多个认证器也可以聚合成一个认证器。用户通过验证聚合的数据块和聚合的认证器的正确性,即可知道所有文件是否遭到篡改或损坏。除此之外,用户还可以委派第三方审计者(Third PartyAuditor,TPA)代替自己对数据的完整性进行审计检测。
二、密码学基础
下面主要介绍云数据完整性审计技术所用到的密码学工具以及假设,包括双线性映射、CDH假设和DL假设,本文简单介绍其相关定义,具体可参考[5-6]。
我们使用G1和G2来表示两个q阶乘法循环群,使用g来表示群G1的一个生成元。使用u和v表示群G1中的两个随机元素,a和b表示两个随机元素。
2.1双线性映射
双线性映射e满足以下三个条件:
a)可计算性:计算e应当是高效的。
b)双线性性:e(u,v)ab=e(ua,vb)。
c)非退化性:e(g,g)≠1。
2.2CDH假设
CDH假设指的是:在给予 (g,ga,gb)的情况下,输出gab在计算上是困难的。
2.3DL假设
DL假设指的是:在给予(g,ga)的情况下,输出a在计算上是困难的。
三、云数据完整性审计流程
在云数据完整性审计中,TPA(第三方审计者)可代替用户检测存放在云服务器上文件的完整性。如图1 展示了云数据完整性审计的流程。
图1:云存储完整性审计流程
用户首先生成加密文件和认证器发送给云服务器。注:这个认证器需要具有同态可聚合的性质。用户将加密的文件和认证器上传给云服务器。在需要进行完整性审计的时候,TPA生成随机的审计挑战(数据块的索引以及相对于的挑战系数),将它们发送给云服务器。云服务器计算聚合的数据块以及聚合的认证器,将它们作为审计证明返回给TPA。最后TPA可以利用用户的公钥来验证审计挑战的正确性。如果审计挑战可以通过验证,则意味着用户的文件完整的保存在云服务器上;否则意味着用户的文件可能遭到损坏。图2展示了同态认证器的一个例子,在这个例子中,两个消息m1、m2 聚合成了一个消息;两个认证器σ1,σ2聚合成一个认证器。在验证的时候,只需要对聚合的数据和聚合的认证器进行验证即可,大大降低了通信和计算上的开销[7-10]。
图2:同态认证器
四、国内外相关工作与未来发展趋势
Ateniese等人[11]首先提出了“可证明数据拥有”(ProvableData Possession (PDP))的概念。Juels 和KaliskiJr[12]提出了“可证明数据提取”(Proof ofRetrievability (PoR))的概念。PoR可以保证云数据的拥有性和可提取性。在PDP和PoR中,为了验证数据的完整性,用户需要计算认证器。这些认证器是由同态签名(例如BLS短签名[13])得到的。在审计过程中,TPA可以对聚合的认证器和聚合的数据块进行验证。构造合适的认证器是各个方案的重点。近几年,国内外的研究者主要针对:数据动态性、数据拥有者变更、隐私保护、安全去重等方面进行了研究[14-20]。但伴随着用户日益增长的数据,目前云数据完整性审计面临以下两个问题:
首先,通过对数据的分析统计,研究人员发现存放在云服务器上的大部分数据都是重复的。如果对于用户重复的数据只保留一份副本,则会大大降低云服务器的存储资源。在现实中,数据去重技术已经有了广泛应用,例如百度云盘的“急速秒传功能”就是运用了数据去重技术。在实际应用中,除了数据外,认证器也占据云服务器相当大的存储开销。如果可以对文件和认证器同时去重,则会大大提高云服务商的性能。因此需要设计一种可以保证低熵值安全的,并且实现文件和认证器去重功能的云数据完整性审计方案。
其次,在公开审计的背景下,TPA通常根据审计文件的数量向用户索取服务费用。而用户通常只关心一部分的文件(而不是全部的文件)的完整性。除此之外,TPA应当获取尽可能少的敏感信息,因此需要设计一种可以基于关键词,并且实现敏感信息隐藏的云数据完整性审计系统。
五、总结
云数据完整性审计技术方案可以高效地检测保存在云服务器上的用户数据的完整性。在本文作为云上数据安全系列的第一篇,简单介绍了云存储完整性审计的背景、技术实现以及国内外的相关工作。在后续的文章中,我们将分别介绍关于上述两个问题的解决方案:1)可以保证低熵值安全且支持去重的云数据完整性审计方案[21];2)基于关键词且实现敏感信息隐藏的云数据完整性审计方案[22]。感兴趣的同学可以持续关注后续更新!
上一篇: 一次勒索病毒应急响应复盘