大数据安全与隐私保护
上QQ阅读APP看书,第一时间看更新

1.4 大数据安全与隐私保护技术框架

从1.3节可以看出,大数据生命周期各个阶段的安全目标各有侧重:在数据传输阶段,安全需求是重点;在数据采集与数据分析阶段,隐私保护需求更为突出;而在数据存储阶段则是两者并重。

不同的安全需求与隐私保护需求一般需要相应的技术手段支撑。例如,针对数据采集阶段的隐私保护需求,可以采用隐私保护技术,对用户数据做本地化的泛化或随机化处理。针对数据传输阶段的安全需求,可以采用密码技术实现。而对于包含用户隐私信息的大数据,则既需要采用数据加密、密文检索等安全技术实现其安全存储,又需要在对外发布前采用匿名化技术进行处理。但这种技术划分也并不是绝对的,相同的需求可以用不同技术手段实现。以位置隐私保护为例,虽然传统上多采用泛化、失真等隐私保护技术实现,但也有学者提出应用密文二维区间检索技术进一步提高安全性;又如,访问控制技术曾经构建于安全定理的形式化分析与证明之上,而现在却依赖于机器学习算法分析结果。近年来各类技术之间的交叉融合日益明显。

总之,大数据安全技术与隐私保护技术互为补充,统一构成完整的大数据安全与隐私保护技术框架,见图1-3。下面对其主要组成部分予以简要介绍。

1.4.1 大数据安全技术

如前所述,大数据安全技术旨在解决数据在传输、存储与使用各个环节面临的安全威胁。其面临的核心挑战在于满足数据机密性、完整性、真实性等安全目标的同时,支持高效的数据查询、计算与共享。本书重点介绍以下几类关键技术。

1. 大数据访问控制

大数据访问控制包括采用和不采用密码技术两种技术路线。前者的代表是密文访问控制,无须依赖可信引用监控器,安全性强,但加密带来的计算负担影响性能。后者的主要代表是角色挖掘、风险自适应访问控制,其特点是效率高、灵活度高,但依赖可信引用监控器实施数据的安全策略,面临可信引用监控器构建困难的问题。

图1-3 大数据安全技术与隐私保护技术框架

1)基于密码学的访问控制

为了保障云环境中数据的安全共享,数据属主需要确保解密密钥只授权给合法用户,这通常使用基于密码学的访问控制技术来解决。根据使用的加密算法类型可大致分为两类:一类基于传统的公钥密码学,另一类基于函数加密(也称功能加密)的公钥密码学。前者基于传统的公钥密码学(如公钥基础设施(PKI)等)保护数据的加密密钥,或将其存储在专门的“锁盒”里。后者是一种新的公钥加密技术,支持细粒度访问控制和丰富的策略表达方式。属性加密(ABE,也称基于属性的加密或属性基加密)是一种典型的函数加密,当前ABE密文访问控制技术的研究主要集中在权限撤销、多权威机构等方面。

2)角色挖掘

角色挖掘起源于基于角色的访问控制,能够辅助管理员发现系统中的潜在角色,从而简化管理员的权限管理工作。由于大数据应用中数据规模巨大且复杂,自动化地对角色进行挖掘并完成授权是RBAC类系统发展的必然趋势。其中,基于机器学习的角色挖掘技术可用性更强,角色可合理解释,而且策略反映权限实际使用情况。生成角色模型用途广泛,既可用于策略中错误的发现和标识,也可用于权限使用过程中的异常检测。

3)风险自适应访问控制

针对大数据场景中安全管理员缺乏足够的专业知识,无法准确地为用户分配数据访问权限的问题,人们提出了风险自适应访问控制技术,将风险量化并为使用者分配访问配额。评估并积累用户访问资源的安全风险,当用户访问的资源的风险数值高于某个预定的门限时,限制用户继续访问。通过合理定义与量化风险,提供动态、自适应的访问控制服务。

2. 安全检索

加密是保护云环境中数据安全的重要手段,但是密文数据的高效使用离不开密文检索,典型需求包括关键词检索与区间检索。前者又常被称为可搜索加密(searchable encryption),包括对称可搜索加密和非对称可搜索加密。后者又可以进一步划分为单维、二维和多维区间检索。除密文检索外,安全检索还包括隐秘信息获取(PIR)以及健忘RAM(Oblivious RAM,ORAM)等多种类型。

1)PIR系列与ORAM

隐秘信息获取是源于数据库检索领域的一种安全需求,指用户在不向远端服务器暴露查询意图的前提下对服务器的数据进行查询并取得指定数据;Oblivious RAM在读写过程中向服务器端隐藏访问模式等。两者均关注用户保护访问模式,防止用户的意图被攻击者或服务器探知,区别在于后者同时还关注数据机密性。

2)对称可搜索加密

可搜索加密研究快速检索出包含特定关键词或满足关键词布尔表达式的密文文档的方法。对称可搜索加密(Symmetric Searchable Encryption,SSE)适用于数据提交者与查询者相同的使用场景。SSE经历了顺序查询、倒排索引、索引树等构造发展历程,当前查询性能已有了极大提升。它关注的安全目标由基础性的选择关键字语义安全(如IND-CKA、IND2-CKA等)扩展至查询模式安全性、查询的前向安全性等多种安全性质。相关研究包括多关键字查询、模糊查询、Top-k查询和多用户SSE等。

3)非对称可搜索加密

与SSE不同,非对称可搜索加密(Asymmetric Searchable Encryption,ASE)的主要应用场景是第三方检索。由于数据所有者与检索者不是同一个人,所以一般采用公钥技术实现关键词陷门生成与检索。

4)密文区间检索

密文区间检索是实际应用中另一大类重要需求,旨在利用数据之间存在的顺序关系,不必按顺序扫描,而以更快速的方法查找指定区间的数据。典型方案包括近邻数据分桶、保序加密、密文索引树等。各类方案提供不同程度的安全性,例如方案是否暴露所有数据间的顺序关系、查询条件上下界的大小关系、区间之间的包含关系等。各类方案的效率也存在显著差异,一个优秀的密文区间检索方法能很好地实现检索效率与安全性之间的平衡。

3. 安全计算

安全计算(也称安全处理)的目的是在复杂、恶劣的环境下以安全的方式计算出正确结果,包括同态加密、可验证计算、安全多方计算、函数加密、外包计算等。

1)同态加密

同态加密技术既可处理加密数据又可维持数据的机密性。支持单一运算的同态加密算法的设计是一件比较容易的事情,但同时支持加法和乘法运算的同态加密算法(即全同态加密算法)从提出到解决经历了30多年的历程,最终是由Gentry博士于2009年解决的,他基于“理想格”构造了全同态加密方案。

2)可验证计算

可验证计算是实现外包计算的完整性即正确性的最可靠的技术,它通过使用密码学工具,确保外包计算的完整性,而无须对服务器失败率或失败的相关性做任何假设。构造大多数可验证计算的基础是概率检测证明。目前最有代表性、最有效的可验证计算主要有3类,分别是基于承诺、同态加密和交互构造的方法。

3)安全多方计算

安全多方计算的目的是使得多个参与方能够以一种安全的方式正确执行分布式计算任务,每个参与方除了自己的输入和输出以及由其可以推出的信息外得不到任何额外信息。相关工作包括安全计算布尔电路的安全多方协议和安全计算算术电路的安全多方计算两大类。大多数安全地计算布尔电路的安全多方计算协议是基于Yao的混淆电路技术,将计算函数表示为布尔电路,并在半诚实模型下提供计算安全性。这种技术使用了健忘传输(Oblivious Transfer,OT)协议。在此基础上,人们在扩展安全模型、减少密文尺寸以及降低计算代价等方面不断改进。而许多安全地计算算术电路的安全多方计算协议是基于秘密共享技术的。

4)函数加密

函数加密是属性加密的一般化。近年提出的很多加密概念,如基于身份的加密、属性加密、隐藏向量加密以及它们的一些组合,都可归结为函数加密,它是这些加密概念的一般化。函数加密是一类公钥加密方案,除了使用正规的秘密密钥解密数据以外,还有函数秘密密钥,用于访问对应的函数在数据上计算的结果。函数加密的安全性定义及其构造是一个极具挑战性的问题。

5)外包计算

外包计算允许计算资源受限的用户端将计算复杂性较高的计算外包给远端的半可信或恶意服务器完成。相关研究主要集中在用户数据的安全性和隐私性、如何验证服务器返回结果的正确性(也称完整性)以及实现高效性方面,外包计算包括基于同态加密技术的外包计算、结合安全多方计算技术的外包计算、结合基于属性加密的外包计算和基于伪装技术的外包计算等。

1.4.2 大数据隐私保护技术

大数据隐私保护技术为大数据提供离线(如数据安全发布)与在线(如数据安全查询)等应用场景下的隐私保护,防止攻击者将属性、记录、位置和特定的用户个体联系起来。典型的隐私保护需求包括用户身份隐私保护、属性隐私保护、社交关系隐私保护与轨迹隐私保护等。其中,用户身份隐私保护的目标是降低攻击者从数据集中识别出某特定用户的可能性。属性隐私保护要求对用户的属性数据进行匿名,杜绝攻击者对用户的属性隐私进行窥探。社交关系隐私保护要求节点对应的社交关系保持匿名,攻击者无法确认特定用户拥有哪些社交关系。轨迹隐私保护要求对用户的真实位置进行隐藏,不将用户的敏感位置和活动规律泄露给恶意攻击者,从而保护用户安全。

当前的大数据隐私保护技术可大致分为两类:基于k-匿名的隐私保护技术和基于差分隐私的隐私保护技术。前者根据隐私数据类型与应用场景的差别,又可以进一步划分为关系型数据隐私保护、社交图谱数据隐私保护、位置与轨迹数据隐私保护。

1. 关系型数据隐私保护

在结构化数据表中,标识符信息具有唯一性。常见的保护方案就是通过数据扰动、泛化、分割发布等来模糊用户的其他特征,使得具有相同的敏感属性、记录和位置的相似用户至少有k个。通过这种方式,攻击者无法确定个体用户的真实属性和位置,从某种程度上可以保护用户隐私安全。

1)身份匿名

简单地去标识符匿名化仅仅去除了表中的身份ID等标志性信息,攻击者仍可凭借背景知识,如地域、性别等准标识符信息,迅速确定攻击目标对应的记录。k-匿名模型可防止攻击者唯一地识别出数据集中的某个特定用户,使其无法进一步获得该用户的准确信息,能够提供一定程度的用户身份隐私保护。

2)属性匿名

在经过k-匿名处理后的数据集中,攻击目标至少对应于k个可能的记录。但如果记录的敏感数据接近一致或集中于某个属性,攻击者也可以唯一地或以极大概率确定数据持有者的属性。为避免这种不完全保护,人们提出了l-多样化、t-贴近模型等,根据敏感属性的分布情况进行有针对性的扰动与泛化处理。

3)多次发布模型与个性化匿名

在数据连续、多次发布的场景中,还需要考虑到多次发布的统一性问题。有很多方案可能在单独的发布场景中都能够满足k-匿名、l-多样化或者t-贴近性的要求,但是对多次发布的数据联合进行分析,就会暴露数据匿名的漏洞。此外,用户具有高度个性化的隐私保护需求,需要根据用户个人需求制定不同级别的隐私保护策略,避免数据的过分匿名或者保护策略不足的情况。

2. 社交图谱数据隐私保护

在社交网络场景中,用户信息不仅包含单纯的属性数据,还包含社交关系数据。在图连接信息丰富的社交网络中,攻击者可以通过对目标用户的邻居社交关系所形成的独特结构(如节点度数、节点子图形状、邻近的节点连通程度等)重识别出用户。因此在图数据匿名方案中,采用属性-社交网络模型描述用户属性数据和社交关系数据,通过在匿名过程中添加一定程度的抑制、置换或扰动,使得匿名前后的社交结构发生变化,降低攻击者精确识别目标的成功率。这类方案中普遍采用图的k-匿名作为可量化的匿名标准,即如果一个图满足k-匿名,则表明图中任一个节点至少与其他k-1个节点具有相同的度,利用节点度作为背景知识的攻击者能够识别目标个体的概率不超过1/k。更一般地,通过匿名化算法处理,使得匿名化的图具备自同构性。

1)节点匿名

攻击者可通过对目标用户的邻居社交关系所形成的独特结构重识别出用户。节点匿名的目标是通过添加一定程度的抑制、置换或扰动,降低精确匹配的成功率。

2)边匿名

数据发布者需要有能力保证这些私密社交关系的匿名性,但直接将对应的边删除并不能降低通过推测得出此边的连接的概率。为了实现边匿名,可以通过节点匿名达到保护用户间社交关系的目的;在节点身份已知时,可以通过对图中其他边数据的扰动,降低该边被推测出来的可能性。

3)属性匿名

在社交图谱中,用户的部分属性与其社交结构具有较高的相关性。具有相同属性的用户更容易成为朋友,形成关系紧密的社区。攻击者可通过用户可见的属性、社交关系、所属群组等信息来推测用户的隐私信息。为实现属性匿名,需要从节点、边、属性3方面联合匿名。

3. 位置轨迹数据隐私保护

用户的地理位置空间属性在抽象后也可以成为用户的准标识符信息。攻击者可通过其掌握的用户某时刻位置这类背景知识和用户历史位置精确匹配,从而唯一地识别出目标用户。因此,人们将k-匿名的概念引入到位置轨迹数据匿名场景中,确保查询区域中至少有k个用户同时具有相同的位置数据或相同的轨迹。基本的保护方法包括位置轨迹泛化、随机化加噪处理等。

1)面向LBS应用的隐私保护

为了得到良好的基于位置的服务(LBS),用户往往会把精确位置信息发送到服务器端,由此会给用户带来位置隐私威胁。需要对用户所提交的实时位置信息进行匿名化处理。典型的LBS隐私保护方案包括Mix-zone在路网中的应用和PIR在近邻查询中的应用。

2)面向数据发布的隐私保护

位置与隐私保护的另一个典型应用场景是位置与轨迹数据发布。由于包含用户大量的历史轨迹信息,且位置与轨迹数据同时具有准标识符和隐私数据双重性质,实现k-匿名保护难度更大。目前的保护方法主要包括针对敏感位置、用户轨迹、轨迹属性等几类数据的隐私保护。

3)基于用户活动规律的攻击分析

由于用户的地理位置空间属性在抽象后也可成为用户的准标识符信息,攻击者可将目标用户的活动规律以具体模型量化描述,进而重新识别出匿名用户,并推测用户隐藏的敏感位置,预测用户轨迹。典型方法有基于马尔可夫模型、隐马尔可夫模型、混合高斯模型等攻击方法。

4. 差分隐私

匿名化技术是与攻击方法紧密相连的一种启发式保护方法,无法论证其对未知攻击的安全性。实际上,正是由于不断提出新的攻击方法,所以由最初的k-匿名逐渐发展到t-贴近、l-多样化等一系列匿名方案。形成“攻击—防护—新攻击—新防护”的链条,防护方法缺乏普适性以及严格证明其安全性的隐私保护框架。而差分隐私技术弥补了这个空白。Dwork提出了一种替代的安全目标,即确保在数据集中插入或删除一条记录不会对输出结果造成显著影响。差分隐私将攻击者的知识能力提高到最强的水平,攻击者拥有何种背景知识对攻击结果无法造成影响。即使攻击者已经掌握除了攻击目标之外的其他所有记录信息,仍旧无法获得该攻击目标的确切信息。根据差分隐私的形式化定义,由用户指定的隐私参数ε控制添加噪声大小,从而决定隐私保护程度与数据失真损失程度。由于加入了噪声,在相邻数据集上分别进行相同的查询,也可能得到相同的结果。

1)基本差分隐私

目前差分隐私技术应用在数据发布(直方图发布、流数据发布、社交网络图数据发布等)、数据挖掘与学习(频繁模式挖掘、分类)、查询处理(范围查询)等方面。其中,为了避免隐私保护技术对数据可用性造成的损失,影响数据挖掘结果,人们提出了差分隐私的数据挖掘技术,通过差分隐私技术约束用户隐私泄露程度,同时尽量保证数据挖掘结果的可用性。

2)本地差分隐私

本地差分隐私(Local Differential Privacy,LDP)是指用户在本地将要上传的数据提前进行随机化处理,使其满足本地差分隐私条件后,再上传给数据采集者。LDP的典型代表有Rappor协议、SH协议等。已有学者指出,实现本地差分隐私的本地算法和已有的统计查询算法等价,数据采集者能够通过统计得到一些有用的信息。本地差分隐私可很好地解决数据采集中的隐私保护。

3)基于差分隐私的轨迹保护

经过差分隐私保护技术处理后的用户轨迹数据可在有效保护用户隐私的前提下安全发布。目前,已有集中式差分隐私轨迹保护方法,在保持轨迹数据集总体统计特征稳定的基础上,产生新的轨迹来替代原始轨迹,且新数据集满足差分隐私安全要求。也可采用本地差分隐私技术对个人轨迹数据进行处理,用户自己掌握自己真实的轨迹,将加噪变换后的轨迹发送给服务器,但仍可让服务器对其进行有意义的轨迹分析。