《北京金融科技产业联盟:隐私计算技术金融应用研究报告(150页).pdf》由会员分享,可在线阅读,更多相关《北京金融科技产业联盟:隐私计算技术金融应用研究报告(150页).pdf(150页珍藏版)》请在三个皮匠报告上搜索。
1、隐私计算技术金融应用 研究报告 北京金融科技产业联盟 2022 年 2 月 目 录 一、概述 . 1 二、隐私计算相关技术分析 . 3 (一)多方安全计算 . 3 (二)联邦学习 . 16 (三)可信执行环境 . 21 (四)同态加密 . 23 (五)差分隐私 . 25 (六) 零知识证明 . 26 (七)数据去标识化及脱敏 . 26 (八)相关技术结合 . 30 (九)技术对比分析 . 40 三、隐私计算金融应用背景 . 44 (一)政策与法律法规 . 44 (二)国内外相关标准 . 47 四、隐私计算金融应用场景 . 50 (一)智能风控场景 . 50 (二)智能营销场景 . 72 (三)
2、智能运营场景 . 84 (四)隐私信息检索场景 . 88 (五)供应链金融场景 . 89 (六)反洗钱场景 . 91 (七)企业级数据流通交易 . 95 (八)平台应用 . 107 五、问题与建议 . 110 (一)风险与挑战 . 110 (二)发展建议 . 114 附录:隐私计算技术平台产品 . 121 1 一、概述 2021 年 12 月, 中国人民银行发布 金融科技发展规划 (20222025 年)(银发2021335 号文印发)明确提出从强化数据能力建设、推动数据有序共享、深化数据综合应用、做好数据安全保护方面充分释放数据要素潜能, 并陆续出台了金融数据安全相关标准。金融数据安全与共享
3、应用的重视程度与日俱增。 为推动金融业务更好地开展,推动跨机构、跨地域、跨行业数据资源有序共享,实现数据可用不可见、数据不动价值动,隐私计算技术被重点关注和推广。 隐私计算技术在金融行业的实践中,已逐步实现产品化、平台化,通过规模化推广,能够在金融领域的更多业务场景、更全面的上下游供应链体系应用中,更好发挥数据价值,避免数据滥用,并产生极好的经济效益。在数据成为生产要素并推定流通的情况下, 隐私计算技术及在行业的应用正在加速发展。 金融机构和科技公司纷纷开始建设隐私计算平台, 在精准营销、 信贷风控、 信息共享、 反洗钱等领域进行试点。 本报告通过对隐私计算技术的研究及应用场景的探索, 能够对
4、隐私计算在金融行业的应用提供参考和指导。 对隐私计算多方合作模式的研究,能够促进不同机构、企业在符合各项法律、法规及政策的前提下, 进行顺畅高效的数据合作, 解决 “信息隐私”和“数据孤岛”问题,达成合作共赢。本报告围绕隐私计算,展开政策法规、 标准、 技术、 场景调研, 对应用场景进行探索实验,2 形成解决方案,并发布技术研究报告。本报告一共分为五章,组织结构如下: 第一章是整体概况,介绍了本报告的研究内容与意义。 第二章介绍了隐私计算的关键技术、 隐私计算与其他前沿技术的结合以及隐私计算技术的对比总结。 第三章是金融行业隐私计算背景, 介绍了与隐私计算相关的政策、法律法规及标准。 第四章列
5、举了金融行业隐私计算的应用场景与案例实践, 涉及风控、营销、运营、匿踪查询、供应链金融、反洗钱等诸多业务领域。 第五章分析了金融行业推进隐私计算发展所面临的风险与挑战,并从行业政策、标准化、技术发展和产业发展的角度提出了相关建议。 3 二、隐私计算相关技术分析 金融业应用的隐私计算核心技术包括多方安全计算、 联邦学习、可信执行环境、同态加密、差分隐私、去标识计算及脱敏技术等,本章介绍这些技术的原理实现方案、难点与创新以及发展方向等1。 (一)多方安全计算(一)多方安全计算 1.1.总体介绍总体介绍 多方安全计算(Secure Multi-Party Computation,简称MPC)指在分布
6、式网络环境下,不依赖可信第三方代替各参与方进行计算, 而是由各对等的参与方通过网络协同共同完成某一计算任务。通常情况下,由两个或多个持有私有输入的参与方,在不泄漏各自私有输入信息的情况下联合计算一个函数, 各自得到他们预定的输出。 MPC 的基本计算模型如图 2-1 所示,在分布式协同计算网络中,N 个互不信任的参与者集合,各自拥有秘密数据。N 个参与者协同计算函数,其中,Yi是第 i 个参与者需要获得的结果。在此过程中,任何参与者不能获得除了 Yi之外的其他秘密信息。 4 图2-1 MPC基本模型 多方安全计算通常考虑如下框架性的安全要求。 其中正确性和隐私性是必须满足的安全要求。 正确性(
7、正确性(CorrectnessCorrectness) MPC 系统中每个参与方获得的输出都是正确的。 隐私性(隐私性(PrivacyPrivacy) MPC 系统中每个参与方除了各自的预期输出之外,无法获得其他额外的信息。换言之,当前参与方唯一可获得的关于其他参与方的信息,仅能从当前参与方的输出结果中推导。 输入独立性输入独立性 (Independence of InputsIndependence of Inputs) 任意的参与方无法通过其他参与方的输入来构建自己的计算输入。 输出保证(输出保证(Guaranteed OuGuaranteed Outptput Deliveryut De
8、livery) 不诚实的参与方无法阻止其他诚实的参与方获得输出。 换言之,不诚实的参与方无法通过发动类似“拒绝服务攻击”来阻断 5 多方安全计算协议。 公平性(公平性(FairnessFairness) 当且仅当诚实的参与方获得计算输出的时候, 不诚实的参与方才能获得计算输出。 从安全性而言,MPC 通常考虑协议中存在攻击者,该攻击者可以控制部分参与方, 在协议运行过程中产生不诚实的行为。 MPC设计建模过程中,通常考虑如下关于攻击者能力的安全假设: 半诚实敌手半诚实敌手 (SemiSemi- -honest Adversarieshonest Adversaries) MPC 安全假设的一种
9、,如果 MPC 系统中的不诚实参与方会按照协议规定进行运算, 但试图通过协议中得到的信息挖掘其他参与方的隐私,MPC 系统除计算结果外不会泄露任何参与实体的隐私。 恶意敌手恶意敌手 (Malicious AdversariesMalicious Adversaries) MPC 安全假设的一种,如果 MPC 系统中的不诚实参与方试图通过改变协议行为来挖掘其他参与实体的隐私,MPC 系统除计算结果外不会泄露任何参与方的隐私。 隐蔽敌手(隐蔽敌手(Covert AdversariesCovert Adversaries) MPC 安全假设的一种,如果 MPC 系统中的不诚实参与方试图破坏协议执行,
10、MPC 系统有能力检测到该攻击行为并作出相应的处罚。 6 2.2.基础技术基础技术 从 MPC 提出到现在, 学术界和产业界针对各种多方安全计算模型设计了多方安全计算协议,这些协议广泛的使用了秘密分享、不经意传输和混淆电路等基础密码学技术。 (1)秘密分享秘密分享 秘密分享概念最早由密码学家 A.Shamir 和 G.Blakley 于1979 年分别独立提出。秘密分享(secret sharing,SS)也被称为秘密分割, 是一种对秘密信息的管理方式, 将秘密进行拆分,拆分后的每一个子秘密由不同的参与者管理, 单个参与者无法恢复秘密信息,需要多个参与者一同协作进行合并才能恢复秘密。秘密共享的
11、应用十分丰富,数字签名、电子拍卖、电子选举是典型的应用场景。秘密分享自身是保护数据安全的重要手段,同时也是多方安全计算的基础技术之一。 典型的秘密分享方案由秘密分割算法和秘密重构算法两部分组成。秘密分割算法将主秘密分割成多份子秘密。秘密重构算法通过一组授权的参与者的子秘密恢复主秘密,如图 2-2 所示。 7 图2-2 秘密分享方案 为满足不同应用场景的使用需求, 秘密共享衍生了可验证秘密共享、动态秘密共享、多秘密共享等理论方向。最简单的秘密共享方案是 Shamir 的门限秘密共享方案,利用拉格朗日插值定理,实现了门限秘密分享,有两个参数:n 和 t,n 表示参与分割秘密信息的参与者的数量, t
12、 表示至少几个参与者聚到一起才可以恢复出秘密信息。该方案原理描述如下: 将主秘密 S 拆分成 n 份,每个参与者获得一份,每一份被称作一个子秘密,每个参与者秘密地保存子秘密。 拆分时,预先设定至少 t (tn) 个参与者聚到一起才可以恢复主秘密 S。 需要恢复主秘密 S 时,有至少 t 个参与者,通过计算恢复出主秘密 S。 秘密共享方案必须至少满足可重构性和安全性两个性质。 具体如下: 8 可重构性可重构性, 任何 t 个或者多于 t 个的参与者的子秘密放在一起, 通过秘密重构算法可以恢复出主秘密 S。 另一方面, 即使 n-t个参与者遗失了子秘密, 剩下的 t 个参与者仍然可以恢复出主秘密2
13、。 安全性安全性,已知少于 t 个子秘密的信息时,不能恢复出主秘密S,即少于 t 个参与者即使合谋也得不到主秘密 S。 针对 Shamir 可能存在密钥持有者作恶的问题,改进的协议如下: FeldmanFeldman 的的 VSSVSS 协议协议:在常用的秘密分享方案基础上附加验证操作,实现可验证的秘密分享。密钥持有者发送密钥的时候,还要附加一个承诺, 这一承诺是密钥持有者拥有该密钥的一个证据,密钥接收者接收到密钥后,首先验证承诺,验证通过后,再接受密钥碎片。 (2)不经意传输)不经意传输 不经意传输(Oblivious Transfer,OT)是一种可保护各方隐私的秘密选择协议, 是设计多方
14、安全计算协议时经常使用的一个基础工具。不经意传输协议中,消息接收者根据一个选择比特,从消息发送者那里获得对应的消息。从隐私保护的角度来看,消息接收者仅能获得其选择的那条消息, 对于剩余的其他消息无从所知;消息发送者仅能知晓其提供了一次服务,但是无法获知哪一条消息被接收。 9 不经意传输(oblivious transfer)最初由 O.Rabin 在 1981年提出。1985 年, Shimon Even 提出了更加实用的 2 选 1 不经意传输(1 out 2 oblivious transfer)协议,如图 2-3 所示。该协议中,Alice 拥有两条秘密信息(m1、m2),Bob 提供一
15、个输入(0 或者 1),并根据输入获得输出信息,在协议结束后,Bob 得到了自己想要的那条信息(输入 i,则得到 mi),而 Alice并不知道 Bob 最终得到的是哪条秘密信息。后来,2 选 1 不经意传输被扩展到 N 选 1 不经意传输协议、N 选 K 不经意传输协议等3。 图2-3 2选1不经意传输 当前,不经意传输协议主要基于数论中的困难性假设,使用公钥密码学算法构造。为了提高协议的效率,主要有两种协议设计思路: 第一种设计思路是基于不同的数学理论构造更加高效的茫然传输协议;第二种设计思路使用茫然传输扩展技术(OT Extension),该设计思路和基于混合加密技术的数字信封技术十分相
16、似。相比于对称密码学操作,基于数论中各种困难性假设的公钥密码学操作是更加昂贵的,即算法的复杂度更高。因此,减少公钥密码学操作, 通过使用高效的对称密码学操作取代部分10 公钥密码学操作来实现不经意传输协议似乎是一个不错的选择。基于这种设计思路, 不经意传输扩展技术首先使用公钥密码学操作产生少量种子 OT,然后利用对称密码学操作(如哈希函数等)将这些种子 OT 协议扩展为任意数量的 OT 协议。 不经意传输协议必须至少满足正确性、发送方隐私性、接收方隐私性三条性质: 正确性正确性 协议执行完毕后,接收方能够获得他所选择的 k 个信息。 发送方隐私性发送方隐私性 协议执行完毕后,接收方通过发送方发
17、来的 n 个秘密数据,已经获得的 k 个消息以及系统的公共参数, 不能获得自己没有选择的 n-k 个消息中的任何一个。 接收方隐私性接收方隐私性 协议执行完毕后,发送方通过系统的公共参数,接收方发来的选择数据,不能区分出接收方选择了哪 k 个消息。 列举部分不经意传输协议如下: NaorNaor- -PinkasPinkas 协议协议:基于离散对数困难问题,实现了二选一不经意传输。通过三次公钥密码学操作实现了半诚实模型下的1-out-of-2 不经意传输协议。 Tzeng(2004)Tzeng(2004)协议协议: 基于 DDH(Decision Diffie-Hellman)假设的 n 选
18、1 不经意传输协议。 KKRT(2016)KKRT(2016)协议协议:不经意传输扩展协议, 多 OT 运行实例的并 11 行优化协议。 (3 3)混淆电路)混淆电路 混淆电路(Garbled Circuit,GC)思想是利用计算机模拟集成电路的方式来实现安全计算, 将计算任务转化为门电路的形式,并且对每一条线路进行加密,在很大程度上保障了参与者的隐私安全。混淆电路(Garbled Circuits)的思想起源于图灵奖获得者姚期智,因此也被称为“姚氏电路”。 混淆电路基本原理如下:发送方将计算逻辑转化为布尔电路,针对电路中每个门进行加密处理。然后,发送方将加密电路(即计算逻辑)和加密后的标签输
19、入给下一个参与方。接收方通过不经意传输按照输入选取标签, 对加密电路进行解密获取计算结果。 典型的混淆电路方案包括两个阶段:第一阶段电路生成阶段和第二阶段电路执行阶段。 电路生成阶段将安全计算函数转化为布尔电路。电路执行阶段则通过使用 OT、加密等方法执行电路。 第一阶段,电路生成者首先以安全计算为目的,生成布尔电路。 然后根据双方的输入值范围和中间输出结果范围随机生成映射标签,然后将这些标签作为密钥,通过分组密码对每个门电路对应的输出真值表进行加密,并对加密后的真值表值进行加扰,从而获得混淆电路。 第二阶段, 电路生成者在执行阶段需要将自身输入对应的标12 签随同混淆电路一起发送给电路执行者
20、; 电路执行者根据自己的输入信息通过不经意传输的方式选择自己对应的标签, 这样电路发生者和电路执行者都无法得到对方的输入信息; 电路执行者获取双方输入的对应标签后,将其作为解密密钥,对输出真值表进行解密,最终获得对应的门电路输出值。 常见混淆电路方案如下: 姚氏估值方案姚氏估值方案:使用混淆真值表,构造布尔电路,通过电路计算来实现多方安全计算的目标函数的计算。 GMWGMW 协议协议:支持多方的半诚实的安全计算协议,计算和通信效率高。与姚氏混淆电路方案的不同之处在于,GMW 混淆电路方案不需要使用混淆真值表,因此无需一些查表和加解密操作,节省了非常大的计算量和通信量。 BGWBGW 协议协议:
21、利用门限秘密分享 Shamir 协议的同态性实现混淆电路,阈值 k 可根据安全性要求调整。 常见混淆电路方案对比如表 2-1 所示。 表 2-1 混淆电路方案对比 方案名称方案名称 姚氏方案姚氏方案 GMWGMW 协议协议 BGWBGW 协议协议 实现方式实现方式 混淆真值表 秘密分享与 OT 门限秘密分享 Shamir 协议 支持的参与方数量支持的参与方数量 两方 多方 多方 协议的执行轮数协议的执行轮数 常数 电路深度 电路深度 支持的电路类型支持的电路类型 布尔电路 布尔电路或算数电路 布尔电路或算数电路 13 3.3.特定技术特定技术 特定 MPC 包括隐私求交和隐私信息检索。 (1)
22、隐私求交)隐私求交 隐私求交(Private Set Intersection,PSI)是指参与方使用各自的数据集计算交集,但不泄露交集以外的任何数据。 保护集合的隐私性在很多场景下是自然甚至是必要的需求,比如当集合是某类用户的通讯录, 这样的输入就一定要通过密码学的手段进行保护。根据使用的场景不同,PSI 协议有以下五条技术路线4: (a a)基于公钥密码学的)基于公钥密码学的 PSIPSI 协议协议 基于公钥密码学的 PSI 协议, 主要的用途是隐私保护场景下选择偏好的匹配, 两方可以在保护各自输入私密性的前提下验证各自的输入是有某些程度上的匹配。基于 Diffie-Hellman(DH)
23、框架的 PSI 协议底层可以使用基于 RSA 公钥体系来求交集, 也可以使用运行速度更快的椭圆曲线, 两种方式计算和通信复杂度都是随着集合大小线性增长5。 (b b)基于不经意传输的)基于不经意传输的 PSIPSI 协议协议 可以实现吞吐量大性能良好的隐私求交平台, 并通过求交过程的流程控制,防止恶意方多次暴力撞库的问题出现。不经意传输扩展协议的出现使得 OT 协议的性能有了极大的提升,许多基于 OT 扩展协议的 PSI 达到了与哈希协议复杂度在同一量级的性14 能。使用布隆过滤器和 OT 扩展协议的 PSI 协议,构造出的协议拥有可以在亿级规模的集合上操作的能力, 并且可以从理论上证明在半诚
24、实模型和恶意模型下是安全的。 (c c)基于电路的)基于电路的 P PS SI I 协协议议 PSI 协议是解决多方安全计算的问题, 通过电路来实现计算交集的函数,具有通用性和易扩展性。将计算交集的电路的输出连到计算其他电路的输入可以计算集合大小、 集合中元素的求和等函数,全部过程都满足保护输入的隐私性。这种易于扩展的性质是其他基于公钥加密或是基于不经意传输扩展协议的 PSI 所没有的,因此这也是一种有实际应用价值的 PSI 方案。 (d d)基于全同态加密协议的)基于全同态加密协议的 PSIPSI 协议协议 全同态加密是一种功能强大的加密原语, 允许运算电路直接在密文上计算,而不必首先解密数
25、据。该协议拥有很小的通信量方面的代价,尽管使用了 batching,windowing,modulus switching 等优化方法,计算开销庞大仍然是未来需要解决的首要问题。 (e e)基于可)基于可信执行环境的信执行环境的 PSIPSI 协议协议 传统的 PSI 是基于密码难题来构建可信根的。 另外一种构建可信根的技术是使用可信硬件,可信根比其他的可信根(比如 TPM)都要更小更可信,可以提供一个安全可信的运行环境,保障代码和数据的机密性和完整度, 并且可提供近似原生态的运行速度,从而大大降低运行时期的性能开销。 15 (2)隐私信息检索)隐私信息检索 隐私信息检索(PIR),是指客户端
26、检索数据库的一种方法,且数据库无法知道客户端检索的具体信息。PIR 最早是 1995 年由 Chor 等人提出,他们的方案严重依赖于通信效率,特别在海量数据检索应用场景中难以实际落地。 后来理论和实践界研发了多种方案突破 PIR 的性能限制,主要分为三类: (a a)信息论安全的隐私信息检索)信息论安全的隐私信息检索 此类的 PIR 提供一个很强的安全概念, 在假设攻击者的计算能力是无限制的条件下保证用户的隐私性能够完全的被保护。 信息论安全的隐私信息检索使用分布式数据库, 每个数据库存储消息的一部分分片,而数据库之间假定是无法合谋的。 (b b)计算安全的隐私信息检索()计算安全的隐私信息检
27、索(cPIRcPIR) 假设攻击者的计算能力在多项式的时间内是有限制的, 常基于一些密码学上的计算难题,具有一定的实用意义。cPIR 的发展路线主要有四个方向,一是结合同态加密技术一是结合同态加密技术, 将具有同态性质的 Paillier 加密方法应用于构造单数据库的隐私信息检索协议,对于半诚实或者恶意的发送方模型都是安全的。二是使用秘二是使用秘密分享的思路密分享的思路, 这个方案有一个限制条件就是需要服务端数量大于1, 通过非合谋的多个服务器共同持有秘密分片隐私信息检索。三是与不经意传输结合三是与不经意传输结合, 优化计算速度, 服务端也无法指导用户最终查询信息,此方案缺点是增加了通信传输。
28、四是借用一些处四是借用一些处理技巧优化查询速理技巧优化查询速度度,如布隆过滤器,布谷鸟哈希函数,局部可16 解码编码技术等。 (c c)基于硬件的隐私信息检索)基于硬件的隐私信息检索 基于安全硬件的 PIR 协议,借助一些安全硬件作为辅助设施, PIR 具有很高的执行效率, 安全性主要取决于硬件的安全性。 按参与方是否诚实, 隐私信息检索还可划分为恶意模型的隐私信息检索和半诚实模型的隐私信息检索。 按照有无服务器辅助分类可分为无服务器辅助的 PIR 和有服务器辅助的 PIR。 (二)联邦学习(二)联邦学习 1.1.总体介绍总体介绍 联邦学习(Federated Learning,FL)也称为隐
29、私保护机器学习, 是目前产学研各界都高度重视的多方协同训练机器学习模型的新范式,可以保证多方的数据不离开自己定义的安全域,是一种只通过传输中间结果(一般为学习模型的梯度信息)进行信息交换、模型聚合的联合训练机器学习模型方法。允许数据保留在各自的本地不出库,极大程度解决了一些组织的数据安全顾虑,实现了数据“可用不可见”的安全流通。谷歌在 2016 年成功地应用联邦学习,在不直接获取用户输入信息、保障用户隐私的情况下,实现了谷歌输入法的智能预测功能6。 一般情况下,训练一个机器学习模型,需要先准备好所有的数据。如果数据来自于不同的所有者,需要把数据汇集起来,让机器进行模型训练。 17 2.2.联邦
30、学习架构联邦学习架构 按照架构分类, 联邦学习可以分为有中心服务器的联邦学习(服务器-客户端架构)和无中心服务器的联邦学习(对等网络架构)。 最初始的联邦学习是中心服务器客户端的架构。 各个客户端是各个独立的数据拥有方和模型训练方, 中心服务器是模型分发方和进行安全聚合计算的一方。大致的流程如下:中心服务器向各个客户端发送具体任务的模型参数;各个客户端收到模型后,在本地利用自己的数据进行训练,并把模型参数发送给中心服务器;中心服务器收到各方的模型参数,并对其进行安全聚合运算,完成一轮模型参数迭代;如此进行多轮迭代,最终获得一个优质的全局模型。有中心服务器的流程如图 2-4(a)。前面提到的谷歌
31、输入法的例子就是有中心的联邦学习架构。 无中心服务器的联邦学习的安全聚合是由各客户端之间通过通信交换参数,自行进行聚合运算得出的,如图 2-4(b)。由于对等网络架构中不存在中心服务器, 训练方们必须提前商定发送和接收模型参数信息的顺序。 18 图2-4 两种联邦学习架构 客户端-服务器架构,协调方是一台聚合服务器,在联邦学习过程中负责模型参数的“分发”和“聚合”;对等网络(点对点)架构,不需要协调方,因为各方无须借助第三方便可以直接通信,但是会消耗更多的计算资源对消息内容进行加密和解密。 3.3.联邦学习类型联邦学习类型 按照合作的数据特点分类,联邦学习可以分为纵向联邦学习、横向联邦学习和联
32、邦迁移学习。通常,数据矩阵的横向表示不同的数据样本,纵向表示不同的数据特征(或者标签)。一行表示一条训练样本。 (a a)横向联邦学习)横向联邦学习 横向联邦学习是通过增加样本的数量的方式获得高质量模型的方法。这些数据合作方的数据具有特征重叠较多、样本重叠 19 较少的特点。横向联邦学习较适用于同行业间的合作。例如,某几家银行都各自拥有有限数量的类似业务的客户, 通过横向联邦学习,可以达到保护客户隐私的情况下,聚合所有客户训练一个样本数量足够多的客户风险预测模型。 横向联邦学习数据合作示例如图 2-5 所示。 图2-5 横向联邦学习数据合作示例 (b b)纵向联邦学习纵向联邦学习 纵向联邦学习
33、是通过增加样本特征维度的方式获得高质量模型的方法。这些数据合作方具有样本重叠较多、特征重叠较少或不重叠的特点。 纵向联邦学习较适用于跨行业间的合作。 例如,银行的贷中监测模型中, 银行只有用户的基本信息和银行账户信息, 而如果加入用户的运营商的通话行为数据或者更加丰富的用户画像数据, 就可以以更加多元化地角度去评估该用户的风险指数。纵向联邦学习数据合作示例如图 2-6 所示。 20 图2-6 纵向联邦学习数据合作示例 (c)联邦迁移学习联邦迁移学习 联邦迁移学习是应用于样本和特征均重叠较少的情况下, 利用迁移学习技术来学习不同数据集的“知识”的方法。例如,有两家不同的机构,一家是位于中国的银行
34、,另一家是位于美国的电商。 由于受地域的限制, 两家机构的用户群体交集很小。 同时,由于机构类型的不同, 二者的数据特征重叠也较少。 这种情况下,我们不对数据进行切分, 利用迁移学习来解决单边数据规模小的问题。 联邦学习是目前受到全世界广泛关注的重要技术, 将会在以数据为要素的市场环境中,发挥其重要的作用。与此同时,联邦学习因为其在传输中间结果的过程中, 有可能被恶意参与者进行模型投毒, 或者恶意合作方会通过中间结果进行反推出隐私信息 21 的风险,所以,如何攻克这些问题也成为另一个探索方向。目前常用的解决方法为使用同态加密、 差分隐私或多方安全计算等技术,对参数信息进行加工,并将加工后的数据
35、(加密梯度)发送给聚合服务器。 (三)可信执行环境(三)可信执行环境 可信执行环境(Trusted Execution Environment,TEE)基于硬件实现隐私计算,在计算机硬件平台上引入安全芯片架构,构建一个安全的硬件区域, 各方数据统一汇聚到该区域内进行计算,通过其安全特性提高终端系统的安全性。可信执行环境目前有英特尔的 SGX 技术、ARM 的 TrustZone 技术,以及 AMD 的安全内存加密,安全加密虚拟化技术等。 1 1. .SGXSGX 技术技术 SGX(Software Guard Extensions)通过提供一系列 CPU 指令码, 允许用户代码创建具有高访问权
36、限的私有内存区域(Enclave -飞地),包括 OS,VMM,BIOS,SMM 均无法私自访问 Enclave,Enclave 中的数据只有在 CPU 计算时,通过 CPU 上的硬件进行解密 。 同 时 , Intel 还 提 供 了 一 套 远 程 认 证 机 制 (Remote Attestation),通过这套机制,用户可以远程确认跑在 Enclave中的代码是否符合预期。 2 2. .TrustZoneTrustZone 技术技术 ARM TrustZone 通过对原有硬件架构进行修改,在处理器层22 次引入了两个不同权限的保护域:安全域和普通域,任何时刻处理器仅在其中的一个环境内运
37、行。 这两个域之间有硬件隔离和不同权限等属性,为保护应用程序的代码和数据提供了有效的机制。通常正常域用于运行商品操作系统,该操作系统提供了正常执行环境 (REE) , 安全域则始终使用安全的小内核 (TEE-kernel)提供 TEE,机密数据可以在 TEE 中被存储和访问。 3 3. .AMD ZenAMD Zen 技术技术 AMD 于 2016 年提出硬件内存加密机制 SME 与 SEV 并将其与现有的 AMD-V 虚拟化技术进行了结合。 在原有的 CPU 中引入了新的片上芯片系统并将其与原有的内存控制器进行了结合以支持SEV 和 SME 的实现。 SME 模式下,AMD 安全处理器会在数
38、据写入内存的时候,使用 AES-128 秘钥进行加密, 而且每次系统重置后都随机生成新的秘钥,运行在 CPU 核心上的任何软件都不可能获取。 SEV模式下, 传统令牌加密系统中虚拟机监视器(Hypervisor)泄密的问题将不复存在。 监视器和运行在同一机器上的客户端资源、 不同客户负载完全隔离, 代码和数据将分别标记、 独立加密,访问的时候如果加密标记错误,就只能看到加密状态。 国内的海光 x86 CPU、华为 ARM CPU、飞腾 ARM CPU 等都实现了 TEE。蚂蚁推出的 HyperEnclave 是一个统一的 Enclave 平台,目前已经在蚂蚁大规模落地,支撑了多个关键业务,同时
39、,联合合作伙伴,在金融、医疗等领域开展了部署和实施工作。 23 (四)同态加密(四)同态加密 1.1.总体介绍总体介绍 同态加密(Homomorphic Encryption)是基于数学难题的计算复杂性理论的密码学技术,能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算, 其结果与用同一方法处理未加密的原始数据得到的输出结果是一致的。1977 年 RSA 算法诞生,但由于当时同态加密算法本身的局限性,在应用上非常受限。直到 2009 年,密码学家们成功构建出了全同态加密方案,这让整个密码学领域重燃在此领域进一步突破的信心。 相比于多方安全计算,同态加密在行业上的产品落地上相对较难。
40、但在一些特定应用场景,如机器学习等,通过对算法的适配优化,亦能满足实际业务需求7。 2.2.全同态和半同态全同态和半同态 根据支持的同态运算类型可以将同态加密方案分成两个大类:半同态加密和全同态加密。其中半同态加密是对不具备全同态能力的同态加密方案的统称,即只能支持同态计算一种运算,或者加法,或者乘法。全同态加密指的是能够同时支持加法与乘法运算的同态加密方案。但全同态加密理论难度较大,在密码学界被认为是研究难度最高的研究方向之一。 (1 1)半)半同态加密同态加密 24 RSARSA:基于大整数分解问题,仅支持乘法同态运算,因其为确定性加密方案,故不满足语义安全性,实际应用较少; Pailli
41、erPaillier: 基于 n 次剩余问题,仅支持多次加法同态和数乘运算,目前应用最广。 ElGamalElGamal:基于离散对数难题问题,仅支持乘法同态运算,可使用椭圆曲线加密算法。 (2 2)全同态加密全同态加密 根据对自举(Bootstrapping)技术以及计算密钥的使用可以将目前的全同态加密方案分成三代: 第一代同态加密方案通过稀疏子集和假设来压缩解密电路,并应用自举技术实现全同态加密; 第二代同态加密方案放弃了计算量过大的自举技术, 通过优化方案的代数结构以及一些快速运算算法提升了方案的效率与安全性; 第三代同态加密方案无需使用计算密钥的辅助即可进行全同态运算, 由于计算密钥的
42、尺寸一般非常大,这一改进极大提升了同态运算的计算效率。鉴于第一代同态加密方案应用较少, 本文主要介绍二、 三代同态加密方案。 B BGVGV 方案方案:第二代全同态方案,现有 Helib 等开源库支持。方案中依次使用模数转换控制噪音的增长, 在实际应用中无需启用计算量过大的自举。 CKCKKSKS 方案方案:第二代全同态方案,支持浮点数计算,非常适合统计和机器学习应用,现有 Seal 等开源库支持。方案加密时对明文进行舍入,解密时输出满足精度要求的近似值。 25 GSWGSW 方案方案:第三代全同态方案,同态加法和同态乘法都只是通过做简单的矩阵加法和乘法来实现, 无需计算密钥参与同态运算,现有
43、 TFHE 等开源库支持。 (五)差分隐私(五)差分隐私 差分隐私(Differential Privacy,DP)在不损害个人隐私的前提下实现了最大限度利用数据资源的核心诉求, 通常用于解决单个查询的隐私保护问题。但在实际中,经常需要面临多条隐私计算组合或在同一数据集重复执行相同的隐私计算的情况。 差分隐私分为全局差分隐私和本地化差分隐私,全局差分隐私可以实现加入很小的噪声保护数据集中所有用户的隐私,但是需要所有用户将未经处理的原始数据直接存储在一个可信服务器上。 本地化差分隐私允许用户在本地随机化原始数据后再发送给服务器,使得用户得到了更强的隐私保护,但这一过程中加入的噪声远大于全局差分隐
44、私。 差分隐私最初是为数据库中的安全查询设计的, 随着联邦学习的兴起,差分隐私也被用于联邦学习算法。目前最常见基于差分隐私的机器学习算法是 differentially private stochastic gradient descent(DPSGD),即基于差分隐私的随机梯度下降法。 该算法通过干预模型用来更新权重的梯度来保护训练集的隐私,每次迭代中向梯度添加噪声,在多个批次训练以后,噪声自然会被抵消。 26 (六)(六)零知零知识证识证明明 零知识证明(ZeroKnowledge Proof)是由 S.Goldwasser,S.Micali 及 C.Rackoff 在 20 世纪 80
45、年代初提出的。指的是证明者能够在不向验证者提供任何有用的信息的情况下, 使验证者相信某个论断是正确的。 零知识证明实质上是一种涉及两方或更多方的协议, 即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。 零知识证明起源于最小泄露证明。设 P 表示掌握某些信息,并希望证实这一事实的实体,设 V 是证明这一事实的实体。假如某个协议向 V 证明 P 的确掌握某些信息, 但 V 无法推断出这些信息是什么,我们称 P 实现了最小泄露证明。不仅如此,如果 V 除了知道 P 能够证明某一事实外,不能够得到其
46、他任何知识,我们称 P 实现了零知识证明,相应的协议称作零知识协议。 (七)数据去标识化及脱敏(七)数据去标识化及脱敏 1.1.总体介绍总体介绍 脱敏技术一般常用于敏感数据的处理, 将某些敏感信息通过脱敏规则进行数据的变形,从而降低数据敏感度,减少敏感数据被精确识别的风险,从而实现敏感数据的保护。数据脱敏在保留一定的数据可用性、统计性等基础上,通过失真等变换降低数据 27 敏感度, 脱敏数据需要进行传输通信, 而在传输过程中或者之后,攻击者或数据获取方仍可通过特定的技术手段对脱敏后的数据进行推理,进而获取部分乃至全部原始信息。 去标识化属于脱敏技术中的一种, 一般是针对个人信息的脱敏处理。通过
47、去标识化计算,使其在不接触额外信息的情况下,达到无法识别个人信息主体的效果。 两种技术所针对的数据范畴虽然不同, 但是在实现时所采用的技术方案基本是一致的,计算性能高,适用于大数据量处理,但其可追溯性差, 数据脱敏后的去向和使用难以从技术上有效控制,只能作为隐私计算应用过程的辅助手段用来隐藏数据信息。 2.2.主要技术方案主要技术方案 主要的技术方案包括以下几大类:密码技术、假名技术、抑制技术、泛化技术、随机化技术、统计技术、数据合成技术。 (1 1)密码技术)密码技术。通过密码学的加密算法将数据进行加密,以完成变形脱敏。采用密码技术脱敏后的数据是可以还原的。当需要还原的时候,用相同的算法并输
48、入密钥,即可完成还原。常用于脱敏的加密算法可以分为确定性加密和随机性加密两类。 确定性加密的特点是相同的明文使用相同的密钥加密后都对应到相同的密文,如常用的对称加密算法和非对称加密算法,又如对密文格式有特殊要求的保序加密和保留格式加密; 而随机性加密的特点是,相同的明文会每次加密后都产生不同的密文,例如同28 态加密。 (2 2)假名技术)假名技术。直接使用假名进行替换来完成脱敏。假名化技术一般采用某种计算规则由原始数据参与计算后生成假名数据,或直接随机生成假名数据。利用假名技术脱敏后的数据无法直接进行还原,但是可以通过建立原始数据-假名数据的映射表来实现假名数据的还原。 如果遇到需要将多份假
49、名化处理后的数据进行关联的情况, 则这几份数据需要采用相同的计算规则进行假名化,或通过同一张映射表进行假名化,否则就会出现数据无法打通的情况。假名技术最常用的计算规则就是各类散列算法。但是,由于原始数据空间的可举性,攻击者可通过彩虹表的攻击形式对假名化的结果进行反向还原。为应对这种攻击,可在计算散列值时加入 salt,以提高破解难度。 (3 3)抑制技术)抑制技术。 对需要脱敏的数据项进行删除或进行屏蔽。抑制技术适合用于具有可识别性特征的属性字段的脱敏处理。 这类字段虽然不具有唯一可识别性, 但是结合其他信息就能够具体识别到某一特定的信息主体。抑制技术可以采取全部抑制,即删除(清空)处理,也可
50、以采用部分抑制技术,对字段中的部分信息进行屏蔽或遮掩。采用抑制技术脱敏后的数据是无法还原的。 (4 4)泛)泛化技化技术术。通过降低数据集中所选属性粒度来实现脱敏。泛化技术的目标是减少属性的唯一值,尽可能的消除原始数据的唯一性, 使原始数据中的多个数值都对应到泛化后的同一个值上。常用的泛化技术有分层、取整等,采用泛化技术脱敏后的 29 数据是无法还原的。 (5 5)随机化技术)随机化技术。通过随机化修改属性的数值以达到脱敏效果。对于随机化后的数据集里的单条数据,其属性特征已发生了改变,因此很难结合其他数据属性推断出特定的信息主体。常用的随机化技术包括噪声添加、置换等。置换技术在不改变数值的前提