可信隐私计算:破解数据密态时代“技术困局”

2022-06-01 05:57韦韬潘无穷李婷婷卫振强
信息通信技术与政策 2022年5期
关键词:公网参与方明文

韦韬 潘无穷 李婷婷 卫振强

(蚂蚁科技集团股份有限公司,杭州 310063)

0 引言

数据流通对于国家信息化进程、产业数字化转型是必不可缺的。以前,为了便利数据生产加工和导入导出,许多应用系统常常直接基于明文数据进行开发和流通。在这个过程中,数据流过的每一家机构都有可能会拷贝一份明文数据。随着传播路径的扩散,拥有这份数据的机构越来越多。任何一个机构出现数据滥用或者泄露,都会产生严重影响。可见,明文流通有着显著危害。

《中华人民共和国网络安全法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》等都明确规定数据的持有者必须要确保所持有的数据安全,并且对数据的使用进行了严格的限制。在大部分场景下,除了匿名化之后的数据或者已经取得用户授权的数据,是不允许任意流通的。在这种情况下,密态流通无疑是最好的选择,能够更好地控制数据的使用和流通范围。

在数据要素行业发展、安全、法规等多种因素的作用下,密态数据流通会成为未来数据流通的主要形式,促进各行各业安全合规的蓬勃发展,并最终迎来密态时代。当前密态时代才刚刚开启,未来涉及到的场景、处理的数据规模、模型的复杂程度都将远远大于现在。在底层支撑的数据密态技术,一定要达到作为广泛性业务基础设施的技术门槛。

(1)性能足够高。在全场景覆盖、大数据、复杂模型的需求下,密态计算的性能要足够高。理想情况下,对于树模型这类中等复杂度的机器学习训练问题,性能要达到每小时处理亿级数据。

(2)稳定性足够强。在全场景覆盖、实时场景的需求下,密态计算要足够的稳定,要能够达到和其他基础设施一样的稳定性,在关键应用领域至少能够达到99.99%,甚至更高。

(3)成本足够低。为了不对现有计算资源和网络资源造成严重冲击,密态计算相对明文计算的成本增长最好控制在一个数量级以内。

(4)适用性足够广。在全场景覆盖的情况下,密态计算要能够支持任意的处理逻辑,尤其是灵活地支持不同数量的参与方。

(5)安全性足够高且达成行业共识。密态计算的安全性要足够高,客观上要能够抵御潜在的攻击。另外,在满足安全需求的情况下应选择性价比最高的方案,且该方案要能够得到行业共识。

1 密态时代所需的关键技术现状

匿名化技术和隐私计算技术是密态时代的基础技术。密态时代对这两项技术的需求也超过以往的任何时刻。

匿名化,是指个人信息经过处理无法识别特定自然人且不能复原的过程[1]。匿名化之后的信息在流通的时候,即便泄露也不会泄露个人信息。个人的隐私权可以得到保障,也不会因为信息泄露导致诈骗等。

隐私计算技术是指多个参与方在不泄露自己数据的情况下进行联合计算的技术。相比于匿名化只是保护身份信息,隐私计算技术则保护所有的数据信息,能够有效地阻止因数据流通带来的信息泄露风险,并且能够充分保证数据所有者的权益。

1.1 绝对匿名化会损失数据价值

匿名化的过程通常是对数据进行模糊处理,比如添加噪声或者区间化。一些匿名化后的数据,看似与个人信息无关,但是通过深入的数学分析仍能定位出个人信息。2015年的《科学》杂志载文称,MIT研究人员[2]发现,利用4笔匿名信用卡的交易信息,就可以识别出90%的信用卡持有者的真实身份。2006年,视频网站Netflix公布了用户的匿名化信息,但研究人员发现,通过8部电影的评分信息,就可以唯一标识数据库中99%的用户[3]。

可以从信息熵的角度解释为什么匿名化总是失效。全球有80 亿人口,有33 bit的熵就可以唯一定位一个人(233=80 亿)。假设公布了33个特征,每个特征有1 bit有效信息,如果这些信息互不相关,就达到了33 bit的熵。但典型的机器学习使用几百个特征、每个特征几十个比特,远远超过了上述上限。也就是说,在开放的空间中(匿名化信息能够公开获取),匿名化和个体粒度的数据要素价值是两个不可调和的对立面。绝对匿名化的个体粒度信息实际上也不再具备使用价值。

1.2 现有隐私计算技术在性能和稳定性上存在严重短板

1.2.1 多方安全计算

多方安全计算(Secure Muti-Party Computation,MPC)[4]是指基于密码协议达到隐私计算的目标,一般包括秘密分享、混淆电路、不经意传输等,并与加法同态等配合使用。MPC以基于模加的秘密分享最为常见[5]。例如,每个变量都被表示成两(多)个随机数的模加,x=x1+x2mod 264。

在这种表示下,计算加法是很容易的(对应的分量相加),但是计算乘法就困难得多。在不降低安全性的情况下,一般采用不经意传输或加法同态,尤其是后者。图1展示了“MPC+同态”下乘法的典型实现流程。甲、乙分别拥有敏感数据x、y,目标共同计算z=xy,输出z以秘密分享形式表示,即z=z1+z2。具体流程如下(对于维度适当的矩阵也适用)。

(1)乙将自己的数据y加密后发送。

(2)甲生成一个用于掩盖的随机数r,并使用x、r、Enc(y)基于加法同态算法计算出Enc(xy+r)。

(3)乙解密获得xy+r。

(4)甲、乙拥有的z的分量为z1=-r、z2=xy+r。

上述过程中的消耗是非常大的,需要一系列的加法同态操作和一次公网传输。加法同态的计算量与非对称运算相当(如RSA、SM2),大约在ms级;公网往返耗时在10 ms级;公网传输耗时在100 us级(按1 000 bit传输量,10 Mbit/s 公网带宽估计)。虽然通过硬件加速、批处理等方式能够一定程度上减少或分摊计算消耗、公网往返耗时,但是公网传输耗时是无法通过这些方式减少的。相比于明文计算乘法只需要一个CPU时钟周期,约0.3 ns,两者的差距在5~7个数量级(取决于批处理的量)。

乘法是整个计算生态的一个基础操作,占比很大,导致MPC技术路线的性能比明文要低5~7个量级,并且这个差距的很大一部分来自于公网耗时,很难提升。

1.2.2 MPC+中心预计算

为了降低MPC技术的耗时,“MPC+中心预计算”采用中立第三方进行预计算[6]。具体地,引入一个中立第三方,在明文的形式下进行一些预计算,然后将预计算结果分发给MPC的参与方,MPC的参与方实时进行隐私乘法时就不再需要非对称运算等大的运算量。

这种方式在安全性上有很大牺牲,如果中立第三方和其中一个参与方合谋,就可以获得其他参与方的数据。也就是说,一个参与方不能完全依靠技术手段保证自己的数据安全。

虽然计算耗时很小,但本路线仍然像“MPC+同态”一样每(批)次乘法都需要公网交互,考虑公网传输量一般较后者小,所以与明文的耗时差距大概在4~7个数量级(取决于批处理的量)。

1.2.3 联邦学习

联邦学习(Federated Learning,FL)的底层也是采用MPC、加法同态等密码协议,但是会把一些看似和原始数据无关的中间过程使用明文进行计算,目的是提升计算性能。这些算法在设计之初时往往没有进行过充分论证。要特别说明的是,这与一般的密码算法设计有很大不同,后者一般要大量密码专家进行长时间的论证。产生这种情况也是因为密态时代到来的太过迅速。

过去公开的攻击已经表明[7-10],这种部分明文化的做法并不可靠,存在通过中间过程数据反推出原始信息的隐患。

另外,该思路仍然有一部分计算过程需要使用多方安全计算、加法同态等,所以虽然性能比多方安全计算要快,但仍然在相似量级上,计算成本依然居高不下。

1.2.4 全同态

全同态[11-12]支持在密文上直接进行计算,效果等同于在明文上进行计算再加密。但是目前的性能比MPC低,并且数据膨胀效应非常显著,适用范围很小。

1.2.5 可信执行环境

可信执行环境(Trusted Execution Environment,TEE)能够基于硬件提供一个隔离的运行环境,其隔离性不受任何外部软硬件和人员的影响,各方可以将数据汇聚到TEE中进行融合计算。但是,TEE的安全性是依赖于技术体系设计和实现的正确性,受系统漏洞影响。目前,TEE的安全风险主要来自于侧信道攻击和供应链攻击[13-17]。尤其是一些供应链异常的情况会导致攻击者有机会在物理上接近TEE,进而可以实施更多的攻击手段。一旦攻击成功,就有机会窃取TEE内部的数据。

基于密码的隐私计算技术与常见的密码算法有很大不同,需要大量的公网交互,这些交互极大地限制了密码算法的性能。在性能的压力下,一些场景被迫采用有隐患的算法,即便如此,性能仍然严重受限于公网交互。TEE技术受供应链等安全隐患影响,也面临着显著挑战。

2 可信隐私计算技术

2.1 受控匿名化技术解决匿名化困境

在绝对匿名化会损失数据价值的情况下,相对匿名化逐渐成为公认的出路。相对匿名化指的是在不结合密钥、外部场景信息的情况下,无法恢复出个人身份的匿名化技术。受控匿名化技术是指将相对匿名化的数据限制在受控环境中,切断其与外部信息的关联,达到安全性近似绝对匿名化的效果。

在受控匿名化技术中,各个参与方需要在本地对用户身份进行去标识,同时在数据价值损失有限的前提下对属性信息进行模糊处理。上述处理之后的数据仍然要受到严格管控,禁止公开。为此,上述数据必须在受控环境中使用;并且该环境与外部的交互必须受到严格的管控,包括数据的存储、传输、计算、研发等。图2是受控匿名化技术典型的示例图。

(1)参与者对ID等身份信息进行去标识。为了防止攻击者建立去标识前后的对应关系,去标识过程应使用基于密钥的密码计算过程,比如HMAC或确定性加密算法,并且确保密钥的安全。建议将密钥存放在参与者本地的受控环境中,避免恶意的参与者获取密钥。

(2)参与者对用户属性信息进行一定程度的模糊处理,如区间化、加噪声等。在某些机器学习训练算法中,区间化和加噪声本来就是其中一个步骤。这些操作能够大幅增加通过属性追踪用户身份的难度。

(3)所有参与者将去标识之后的ID、模糊处理后的属性信息传输到受控环境中,在受控环境中进行碰撞和融合计算。

(4)对受控环境与外部交互的各个通道进行严格管控。例如,在研发过程中,对少量需要展示的数据进行k匿名或脱敏处理;对输出的结果,进行差分隐私、泛化/有效位截断(精度过高会推出哪些数据参与了运算)等。

在受控环境的技术实现上,可信计算是非常好的一个选择,它能够提供可靠的隔离环境。另外,参与方还可以从远程确认数据的处理、输出方式,进一步确保数据安全可控。

• 受控匿名化的安全性:在参与方之外,只有相对匿名化后的信息在受控环境中出现。由于受控环境采用了可信计算等高安全保障的技术,一般不会发生大规模数据泄露。即便有少量数据泄露,因为这些数据都是经过相对匿名化处理的,对安全性影响不大。

• 受控匿名化的性能:首先,受控匿名化对身份信息、属性等数据价值损失不大,最大程度地保证了数据的价值;其次,整个过程没有大计算量的操作,整体性能非常高。

2.2 可信密态计算克服现有隐私计算技术的短板

经分析发现,决定隐私计算性能的关键是它属于同网密态技术还是跨网密态技术,即计算过程中是否需要频繁的公网交互。在这一思想的引导下,提出了一种新的隐私计算技术路线:可信密态计算(Trusted-Environment-Based Cryptographic Computing,TECC)。TECC通过在多个高速互联的可信执行环境中运行密码协议,将两者有机地结合在一起,可以显著解决这两项技术的主要缺陷。综合考虑性能、安全性、可靠性和成本等因素,TECC是最有希望满足密态时代要求的隐私计算技术。

TECC的一个主要特征是可信执行环境里运行的是密态数据。为了充足的安全余量,建议搭配全栈可信(TPM+外壳防拆)技术,形成全栈可信、TEE、密态程序三层防御。这三层不是简单地累加,TECC的安全特性可以克制全栈可信、TEE的主要缺陷。另一个主要特征是多个可信执行环境运行在高速网(内网)中。TECC因此成功地突破了其他技术都有的公网传输瓶颈,再结合其他优化技术,最终的性能远超现有隐私技术并接近明文。图3是TECC典型的示例图。

(1)数据提供者在本地将数据拆分成多个密态分量,并将每个分量传递给不同分区的可信计算节点。

(2)每个可信计算节点只有部分密态(分量)数据,多个节点分区通过密码协议完成目标计算。

(3)可信计算节点受TEE、TPM、全栈可信保护,运营者无法窥探。

(4)密码协议的同一个角色由一个节点分区集群承担,可以进行并行化加速。

2.2.1 TECC的安全性优势

研究者建议TECC与全栈可信技术(包括外壳防拆技术、基于TPM的可信启动技术等)配合使用。因为攻击TEE一般需要物理接触TEE或者攻入操作系统,全栈可信的防拆和软件链验证正好可以阻止这些行为。虽然全栈可信技术会增加一定的成本,但是对于隐私计算这么关键的任务是值得的。

在使用全栈可信之后,TECC具备了全栈可信、TEE、密态程序三层防御,安全性远高于单独使用TEE。这三层防御并不是简单的叠加,TECC的安全能力可以克制全栈可信、TEE的主要安全缺陷。TEE历史上的安全漏洞[18]主要是由以下几个原因产生。

(1)因为TEE很难被直接攻破,侧信道攻击是最主要的攻击形式。根据攻击的关键对象,可以分为地址类侧信道攻击[19-22]和分支判断类侧信道攻击等[23-25]。前者指通过观测TEE访问了哪些缓存行或内存页等,获得TEE访问的地址信息,进而推断敏感信息;后者指通过观测能耗曲线、执行时间等,分析出TEE内部程序在分支判断的时候走的是哪个分支,进而推断敏感信息。

(2)因性能优化导致的瑕疵。性能是所有系统追求的指标之一,但是过度的性能优化会导致安全问题,主要包括侧信道攻击和预测执行攻击(幽灵攻击、Spectre)[26-28]。预测执行是TEE(CPU)的一个特性,TEE会根据历史运行情况猜测要跳转的分支,并提前执行,达到加速的效果。针对这一特性,攻击者通过反复操纵输入,最终让TEE猜测错误,并进一步完成攻击。

(3)设计实现疏忽导致的瑕疵。保障寄存器、内存等大的组件相对容易被正确设计和实现。但是一些细小组件的安全防护可能会被疏忽,如加载端口、行填充缓冲等。攻击者有可能以采样的方式从这些细小组件中读取到TEE运行数据碎片,如微体系结构数据采样(MDS)攻击[13][15][29-32]。

(4)供应链攻击。在一些异常的供应链流程中,攻击者有可能会物理接触TEE,进而可以实施更多的攻击手段。例如,在维修的过程中,TEE一般会关闭物理防护安全措施,攻击者就有机会注入硬件木马。全栈可信也有类似的问题,供应链攻击也是全栈可信最大的安全隐患。

从上面可以看出,历史上的漏洞对TEE的破坏一般不是颠覆性的,攻击者能够获取的信息非常有限,并且有很多前提条件。在TECC中,这些限制和前提条件基本不会被满足,最终使得攻击无法奏效。

• TECC中的TEE的内部数据都是密态数据(分量),这些数据是很长的随机数,不会作为地址或者地址偏移使用,所以地址类的侧信道攻击对TECC没有威胁。同样地,这些数据也不会作为分支判断的依据。实际上,密态程序因为不知道分支判断的值,所有可能的分支都会执行一遍。所以分支判断类的侧信道攻击对TECC也没有威胁。

• 预测执行攻击成立的前提条件是,攻击者能够操纵输入影响分支判断走向。在TECC中,参与方的输入都会被转换为密态数据,只用于计算,不会作为分支判断的条件,所以这种攻击对TECC无效。

• 在微体系结构数据采样攻击中,攻击者难以控制自己获得的具体是哪一条数据。这种情况下,攻击者从TECC的各个TEE中获取的密态数据(分量)很有可能不对应同一个明文,也就形不成攻击。尤其是当攻击者从单个TEE中获取的数据量非常少的时候,对应同一个明文的概率基本可以忽略。在微体系结构数据采样(Microarchitecture Data Sampling,MDS)攻击中,攻击者只能通过非常细小的组件获取数据,所以能够获得的数据量非常少。

• 对于来自异常供应链流程的TEE,如维修,可以将它们放到TECC的同一个分区。TECC的安全机制保证,即便同一个分区的TEE都被攻破了,也不会有安全问题。

从表1可以看出,TECC能够克制TEE历史上出现过的大部分安全漏洞。由此推断,对于TEE未来可能会出现的漏洞,TECC大概率也可以抵御。即便不能完全抵御,在全栈可信、TEE、密态程序三层防御下,攻击者也很难成功。

表1 TECC克制TEE、全栈可信的主要隐患

2.2.2 TECC的性能优势

TECC的一部分性能优势来自于内网交互,例如典型的公网带宽10 Mbit/s、内网带宽10 Gbit/s,就是1 000倍的差距。TECC的性能优势还来自于其特有的并行化能力。TECC中心可以为密码协议的每个角色分配多个TEE资源,把同一个角色的所有TEE叫做一个分区。图4展示了密码协议的三个分区,每个分区有t个TEE。来自不同分区的三个TEE组成一组,承担总任务中的一个子任务。所有组可以并行计算,大大加速整体的计算效率。大规模数据处理任务通常都是可以并行化的,所以这一措施非常有效。

这一并行化的原理与常见的多线程相似,但对跨网密态技术并不成立。因为这些技术的瓶颈点在公网带宽上,即使采用类似的方式分组,多个组仍然要共享同一份公网带宽,性能提升十分有限。但是对于TECC来说,每一组内部的通信带宽近乎是“免费”的。从另一个角度来说,假设内网带宽10 Gbit/s,TEE组数为100组,则执行密码协议的总带宽就高达1 000 Gbit/s,这是前述公网带宽的10万倍。

为了把TECC的性能优势发挥到极限,TECC还需要选择计算量小的密码协议。通过安全性分析得知,只要满足TECC 中的TEE 内是密态数据,就能达到非常高的安全效果。因此,可以选择门限低的密码协议,其计算量膨胀非常小。这也是使用TEE带来的好处,单独使用这些协议安全强度有限。

在消除了网络瓶颈和计算瓶颈后,TECC的性能迎来了质的飞跃,远超TEE以外的隐私计算技术,并且在少量的资源膨胀下可以接近明文。

2.2.3 TECC的功能优势

TECC中的TEE之间可以通过执行MPC协议完成目标运算,所以MPC能够支持的功能TECC都可以支持。目前,MPC协议能够支持的功能已经非常完善了。图5展示了MPC功能层次关系。

(1)基础算子层包括算术运算、逻辑运算,以及它们之间的相互转化。常见的多方安全计算协议一般指的是这一层,如aby、spdz[32]、SWIFT[33]。

(2)对于一些高级算子,人们会去研究特定的高效实现算法[34],包括数学类函数和数据结构算法等。

(3)构建隐私应用一般不再需要特殊的协议或算法,与明文过程基本相同。隐私应用主要分为机器学习和数据分析两类。

相对于跨网密态计算技术,TECC的功能优势在于天然地支持任意多个参与方和任意的数据分割形式,数据分割形式指的是一个参与方拥有全部数据的哪一部分。在TECC中,多个参与方先将各自的数据密态拆分,上传合并后再计算。因此,参与方数量、数据分割形式对上述过程没有影响。但是对于跨网MPC来说,出于对性能、实现复杂度等方面的考虑,不同的参与方数量、不同的数据分割形式通常对应不同的算法,比如两方协议和多方协议、横向联邦和纵向联邦。这就导致TECC一个算法能够实现的功能,跨网MPC要使用多个算法

2.2.4 TECC的稳定性和成本优势

跨网密态技术对公网严重依赖,例如一次两方密态机器学习训练需要的交互次数高达数万次。这给稳定性保障带来了极大的挑战。这一点与常规的网络应用很不同,后者一般只需要几次公网交互。TECC只有数据上传的时候需要公网交互,没有这方面的忧虑。同时,这也为TECC节省了大量的公网购买成本。

TECC的计算节点采用集中部署的形式,参与方只需要使用轻量级SDK就可以接入,大大降低了接入成本。集中化的部署方式更有利于日常的功能巡检、应急演练和故障处理。

3 可信隐私计算行业生态

除了突破技术瓶颈,数据密态时代的发展还需要:一方面由法律法规确立用户的权益。数据行业基础的、合理的安全需求将成为强制要求;另一方面,标准和评测将为产业甄别不同产品的安全程度,并指导行业在不同的场景使用合适的技术。

3.1 密态时代合规的关键问题

合规是行业的基本保障。密态时代要做到合规,最关键的几点如下。

(1)专数专用,即数据不能随意跨主体、跨业务场景使用。首先,理清楚首次收集数据的主体、获得充分授权后数据的归属主体、各方的权利和责任;其次,需要根据业务场景2B和2C的授权情况来限定数据的合规使用范围。

(2)个人信息授权问题。《个人信息保护法》规定的27个同意形成了一道坚固的授权墙,任何业务场景必须按规定获得用户的授权。但是在某些情况下这一要求很难达到,例如恶意攻击者一定不会授权风控系统获取他的数据,但这一数据对模型训练很重要。目前在法律许可下主要有两个解决路径,一是匿名化,二是执行合同的必须条件。

在无授权场景下,要做好匿名化,在保证个人隐私权益的前提下发挥数据价值;在有授权场景下,要专数专用,保障这个场景获得的数据只在这个场景中使用。

(3)数据的使用和流通要做到可审计、可举证。隐私计算等技术在保护数据明文信息的同时也可能阻碍对数据实际使用范围的审计监控。在实际使用中,如果没有妥善的管控,同样可能导致侵犯用户隐私权益或者造成敏感信息泄露。因此,审计和固证是非常重要的作用。

3.2 标准、评测保证行业健康发展

隐私计算技术底层技术路线非常多,实际产品迫于性能压力可能还会舍弃部分安全性,一些新兴的思路可能会将多种技术相融合。这些因素导致在用的隐私计算技术路线非常多,安全性差异非常大,且社会对此认知比较模糊。为了产业的健康发展,对安全性给出准确评估至关重要。

同时,必须承认客观上无法对产品的安全性给出形式化的证明。一个实际系统的安全必然涉及到密码学、代码安全、网络安全、AI算法安全等多个层面,其中大部分都无法得到形式化证明。甚至,密码学的部分内容也无法得到形式化证明。

在这种情况下,评测应回归到安全的基本原则。首先,安全的核心是对抗,对抗是多维度、持续的,承载着行业数据命脉的关键基础性技术,必须清晰地分析面对各种已知和潜在攻击的安全强度,这需要行业安全专家的广泛介入;其次,一定需要根据场景安全分类分级,不能用一个指标锁死各行各业不同业务的安全水位要求。

4 结束语

通过对密态时代所需的两项基本技术——匿名化和隐私计算进行分析,发现它们都存在一些难以克服的短板,密态时代陷入了“技术困局”。为此,本文提出了可信隐私计算技术,它融合了可信计算、密码等多项技术,在安全性、性能、可靠性、适用性和成本等方面均达到了非常高的水平,几乎是当前唯一能够全方位满足密态时代要求的技术。除了技术突破外,本文强调了合规、标准、评测等是保证行业健康发展的关键。有理由相信,可信隐私计算以其显著的综合性优势,必将能够帮助数据要素行业破解技术困局,迈入密态时代。

猜你喜欢
公网参与方明文
基于秘密分享的高效隐私保护四方机器学习方案
浅析大临铁路公网覆盖方案
基于SNA视角的PPP项目参与方行为风险研究
BT模式研究
奇怪的处罚
如何迎接公网对讲的春天
绿色农房建设伙伴关系模式初探
奇怪的处罚
奇怪的处罚