在大数据时代中,海量的数据的交叉计算和人工智能的发展为各行各业提供了更好的支持,但这些被使用的数据往往包含用户的隐私数据,或企业/机构的内部数据。这些数据由于数据安全和隐私的考虑,往往是不对外开发,例如政府数据由于政策保密性完全不能对外公布,运营商、互联网公司收集到的客户数据,也不能透露给第三者,因此形成了一个个数据孤岛,数据之间不能互通,数据的价值无法体现。如何应用海量的数据,实现数据流动,同时能够保护数据隐私安全、防止敏感信息泄露是当前大数据应用中的重大挑战。隐私计算就是为了解决这些问题应运而生。隐私计算,广义上是指面向隐私保护的计算系统与技术,涵盖数据的生产、存储、计算、应用等信息流程全过程。
隐私计算经过近几十年的发展,目前在产业互联网、人工智能、金融科技、医药保护共享数据等方面发挥重要的作用。目前在对数据隐私的保护方面,隐私计算技术的应用主要可以分为可信硬件, 多方安全计算,联邦学习三个主要流派。
图1 隐私计算的主要流派分类
「少林派」:即安全多方计算技术流派。为什么呢?历史最悠久,提供大量底层的安全技术,其他的门派多少会用到安全多方计算的底层技术。多方安全计算(Secure Multi-Party Computation)是指在无可信第三方情况下,通过多方共同参与,安全地完成某种协同计算。即在一个分布式的网络中,每个参与者都各自持有秘密输入,希望共同完成对某个函数的计算,但要求每个参与者除计算结果外均不能得到其他参与实体的任何输入信息。也就是参与者各自完成运算的一部份,最后的计算结果由部分参与者掌握或公开共享。多方安全计算主要基于密码学的一些隐私技术,包括有同态加密(Homomorpgic Encryption),不经意传输(Oblivious Transfer),混淆电路(Garbled Circuit),秘密共享(Secret Sharing)等。
「华山派」:主要是基于可信硬件方面技术,即通过硬件技术来对数据进行隔离保护。通用的应用方法包括安全屋,可信执行计算环境等。安全屋主要依赖芯片制造工业和系统架构,山路凶险,易守难攻,对独立第三方来说,好处是不用深入研究算法和密码学,缺点是受限制较多,数据需要先集中后处理。
「武当派」:联邦学习是后起之秀,就像武当派从少林派得到很多启发一样,联邦学习结合密码学和分布式计算,实现了多方协作的机器学习,在人工智能领域开辟了新天地。
除了以上三大门派外,还有差分隐私、K匿名算法、L多样性等隐私相关的技术,这些技术不是相互替代关系,而是可以相互结合,产生更强大的威力。
将隐私计算行业里比较有代表性的科技公司按三大门派在自研基础技术和集成开源应用两个维度进行分类,如下:
图2 隐私计算公司的分类
少林派主要是华控清交、富数科技、蚂蚁金服、数犊科技、矩阵元等,因为这几家都尚未开源,基于这些自研技术的上层集成开源应用也基本上没有出现。这些公司更多是直接给企业机构提供个性化的多方安全计算服务,解决业务实际的问题,很欣喜地发现少林派这几家公司完全自主研发,掌握多方安全计算的核心技术。
武当派(联邦学习)主要有Google的TensorFlow Federated、微众的Fate、百度的PadleFL、富数科技Avatar,蚂蚁Morse,除了TensorFlow,其他几个都算是自主知识产权,从联邦学习的专利所有权来看,大多数专利已被这几家收入囊中。其中TensorFlow Federated、Fate、PadleFL都是已开源项目,业内也有类似京东数科、平安科技等基于开源的内核搭建了上层应用平台。
华山派以Intel的TEE可信执行环境为代表,国内包括蚂蚁金服、翼方健数等公司将之集成到自己的隐私计算平台。
综上,隐私计算由于其研究跨度的高门槛,需要掌握数学、加密学、建模、工程化和业务场景等综合能力能力,以及前期论文研究、底层算法、原型实现和工具化等高投入,国内具有完全自主研发能力的公司其实屈指可数:微众、蚂蚁、百度、富数、华控、矩阵元、数犊等都是投入了2年以上时间, 也是相关大数据安全标准的深度参与者, 才拥有各自的一些自主研究成果。
1.1 秘密共享
秘密共享(Secret-Sharing) 是现代密码学领域的一个重要分支,是信息安全和数据保密中的重要手段,也是多方安全计算和联邦学习等领域的一个基础应用技术。实际应用中,在密钥管理,数字签名,身份认证,多方安全计算,纠错码,银行网络管理以及数据安全等方面都有重要作用。
秘密共享是在一组参与者中共享秘密的技术,它主要用于保护重要信息,防止信息被丢失、被破坏、被篡改。它源于经典密码理论,最早由Sharmir和Blakley在1979年提出。简单来说,秘密共享就是指共享的秘密在一个用户群体里进行合理分配,以达到由所有成员共同掌管秘密的目的。
基于Shamir秘密共享理论的方法中,秘密共享的机制主要由秘密的分发者D、团体参与者P{P1,P2,…,Pn}、接入结构、秘密空间、分配算法、恢复算法等要素构成。
秘密共享通过把秘密进行分割,并把秘密在n个参与者中分享,使得只有多于特定t个参与者合作才可以计算出或是恢复秘密,而少于t个参与者则不可以得到有关秘密。
单分发者秘密共享机制
秘密共享体系还具有同态的特性。如下图所示有特征A和B,他们的值被随机分成碎片(X1, X2, …, Xn)和(Y1, Y2, …, Y3),并分配到不同参与节点(S1,S2, …, Sn)中,每个节点的运算结果的加和能等同于原始A与B的加和。同样通过增加其他计算机制,也能满足乘积的效果,这就是秘密共享具备的“同态性”,各参与者可以在不交换任何数据的情况下直接对密码数据求和,乘积。
多分发者秘密共享机制
在秘密共享系统中,攻击者必须同时获得一定数量的秘密碎片才能获得密钥,通过这样能提高系统的安全性。另一方面,当某些秘密碎片丢失或被毁时,利用其它的秘密份额仍让能够获得秘密,这样可提高系统的可靠性。
秘密共享的上述特征,使得它在实际中得到广泛的应用,包括通信密钥的管理,数据安全管理,银行网络管理,导弹控制发射,图像加密等。
1.2 不经意传输
不经意传输(Oblivious Transfer - OT)最早在1981年被 Michael O. Rabin提出,之后被广泛应用于多方安全计算等领域。
在Rabin [1] 的OT协议中,发送者Alice发送一个信息m给接收者Bob,接收者Bob以1/2的概率接受信息m。所以在协议交互的结束的时候,发送者Alice并不知道Bob是否接受了消息,而接收者Bob能确信地知道他是否得到了信息m,从而保护了接收者的隐私性,同时保证了数据传输过程的正确性。该方法主要是基于RSA加密体系构造出来。
1985年S. Even, O. Goldreich, and A. Lempel [2] 提出了1-out-2 OT, 在此方案中发送者Alice每次发送2个信息和,而接收者Bob每次输入一个选择b, 当协议结束的时候,发送者Alice无法获得关于接收者Bob的任何有价值的信息,而接收者Bob只能获得,对于, 接收者Bob也一无所知。
1-out-2 OT
在1986年,Brassard等人将1-out-2 OT扩展为1-out-n OT。
1-out-n OT
在实际应用中,不经意传输OT的一种实施方式是基于RSA公钥加密技术。一个简单的实施流程如下:首先,发送者生成两对不同的公私钥,并公开两个公钥,称这两个公钥分别为公钥1和公钥2。假设接收人希望知道m1,但不希望发送人知道他想要的是m1。接收人生成一个随机数k,再用公钥1对k进行加密,传给发送者。发送者用他的两个私钥对这个加密后的k进行解密,用私钥1解密得到k1,用私钥2解密得到k2。显然,只有k1是和k相等的,k2则是一串毫无意义的数。但发送者不知道接收人加密时用的哪个公钥,因此他不知道他算出来的哪个k才是真的k。发送人把m1和k1进行异或,把m2和k2进行异或,把两个异或值传给接收人。显然,接收人只能算出m1而无法推测出m2(因为他不知道私钥2,从而推不出k2的值),同时发送人也不知道他能算出哪一个。
1.3 混淆电路
混淆电路(Garbled Circuit)是姚期智教授[4]在80年代提出的安全计算概念。通过布尔电路的观点构造安全函数计算,达到参与者可以针对某个数值来计算答案,而不需要知道他们在计算式中输入的具体数字。
在这里关键词是“电路”,实际上所有可计算问题都可以转换为各个不同的电路,例如加法电路,比较电路,乘法电路等。而电路是由一个个门(gate)组成,例如与门,非门,或门,与非门等。
混淆电路里的多方的共同计算是通过电路的方式来实现,例如下图所示,Alice和Bob要进行多方计算,他们首先需要构建一个由与门,或门,非门,与非门组成的布尔逻辑电路,每个门都包括输入线,输出线。
布尔逻辑电路
混淆电路则通过加密和扰乱这些电路的值来掩盖信息,而这些加密和扰乱是以门为单位,每个门都有一张真值表。
门与真值表
Alice用密钥加密真值表,并把表打乱后发给Bob,通过这种这加密+打乱的过程,达到混淆电路的目的。而Bob在接收到加密表后,根据收到的加密真值表,混淆的输入,及自己的Key,对加密真值表的每一行尝试解密,最终只有一行能解密成功,并提取相关的加密信息。最后Bob将计算结果返回给Alice。
在整个过程大家交互的都是密文或随机数,没有任何有效信息泄露,在达到了计算的目的,同时达到了对隐私数据数据保护的目的。
1.4 同态加密
同态加密(Homomorphic Encryption)是一类具有特殊属性的加密方法,是Ron Rivest, Leonard Adleman, 以及Michael L. Dertouzo在1978年提出的概念。与一般加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。这个特性属性对于保护信息的安全具有重要意义,利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价;利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。
同态加密主要分两类:
全同态加密(Fully Homomorphic Encryption):全同态加密同时满足同态加法运算和同态乘法运算。这意味着同态加密方案支持任意给定的f函数,只要这个f函数可以通过算法描述,就可以用计算机实现。但全同态计算开销极大,暂时还无法在实际中使用。
部分同态加密(Somewhat Homomorphic Encryption ):部分同态加密只支持同态加法运算和数乘运算,这意味着此同态加密方案只支持一些特定的f函数。但部分同态加密也意味着开销会变得较小,容易实现,现在已经可以在实际中使用。
目前满足加法同态和数乘同态的算法包括Paillier和Benaloh算法等,而满足乘法同态的算法包括RSA和ELGamal算法等。
同态加密技术在分布式计算环境下的密文数据计算方面具有比较广泛的应用领域,比如安全云计算与委托计算、多方保密计算、匿名投票、文件存储与密文检索等。例如在云计算方面,虽然目前云计算应用中,从安全角度来说,用户还不敢将蜜柑信息直接放到第三方云上进行处理,通过实用的同态加密技术,则大家可以放心使用各种云服务,同时各种数据分析过程中也不会泄露用户隐私。加密后的数据在第三方服务处理后得到加密后的结果,这个结果只有用户自身可以进行解密,整个过程第三方平台无法获知任何有效的数据信息。另外一个应用,在区块链上,使用同态加密技术,智能合约也可以处理密文,而无法获知真实数据,能极大的提高隐私安全性。
1.5 隐私信息检索(PIR)
隐私信息检索(Private Information Retrieval - PIR)技术是由Chor B等在1955年提出解决保护用户查询隐私的方案。主要目的是,保证查询用户在向服务器上的数据库提交查询请求,在用户查询隐私信息不被泄漏的条件下完成查询,即在过程中服务器不知道用户具体查询信息及检索出的数据项。
基于隐私信息检索(PIR)的隐私保护方法案例:假定数据库是一个由n位二进制数组成的字符串S,如图所示。当用户对字符串S中的第i位查询字符Si进行查询时,如果直接进行查询,肯定会将Si值的相关信息泄露,造成隐私泄露的严重后果。为了保护数据隐私,用户不能直接发起查询,而在查询之前,先使用加密机制对查询i进行加密得到E(i),而后将加密的E(i)发送给位置服务器进行查询。服务器收到查询请求E(i)后,进行查询数据库操作,并将查询得到的结果q(S,E(i))返回给用户。当用户收到查询结果q(S,E(i))后,应用解密操作进行解密,得到最终的查询结果。
隐私信息检索的应用场景有:
病患想通过医药系统查询其疾病的治疗药物,如果以该疾病名为查询条件,医疗系统将会得知该病人可能患有这样的疾病,从而病人的隐私被泄露,通过隐私信息查询可以避免此类泄露问题。
在域名、专利申请过程,用户需要首相向相关数据库提交自己申请的域名或专利信息以查询是否已存在,但有不想让服务提供方知晓自己的申请名称,从而能够抢先注册。
在证券市场中,某用户想查询某个股票信息,但又不能将自己感兴趣的股票泄露给服务方从而影响股票价格和自己的偏好。
现有的隐私信息检索,可主要分为两大类:信息论的隐私信息检索协议(Information-Theoretic PIR)和计算安全的隐私信息检索协议(Computional PIR)。
1.6 零知识证明
零知识证明(Zero-Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
零知识证明起源于最小泄露证明。假设P表示掌握某些信息,并希望证实这一事实的实体,假设V是证明这一事实的实体。假如某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,则称P实现了最小泄露证明。不仅如此,如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,则称P实现了零知识证明,相应的协议称作零知识协议。
零知识证明系统包括两部分:宣称某一命题为真的示证者(prover)和确认该命题确实为真的验证者(verifier)。证明是通过这两部分之间的交互来执行的。在零知识协议的结尾,验证者只有当命题为真时才会确认。但是,如果示证者宣称一个错误的命题,那么验证者完全可能发现这个错误。这种思想源自交互式证明系统。交互式系统在计算复杂度理论方面已经获得异常独立的地位。
零知识证明流程
零知识证明大体由四部分组成:
多项式问题的转化 - 需要证明的问题转化为多项式问题 t (x) h (x) = w (x) v (x),证明者提交证明让验证者确认多项式成立。
随机挑选验证 - 随机选择验证的数值 s,验证 t (s) h (s) = w (s) v (s)。相对于验证多项式相等 t (x) h (x) = w (x) v (x),随机挑选验证,简单,验证数据少。随机挑选验证,安全性肯定不及多项式等式验证,但如果确实足够随机,安全性还是相当高的。
同态隐藏 - 同态隐藏指的是函数的一种特性。输入的计算和输出的计算保持 “同态”。以加法同态为例,满足如下的三个条件的函数 E (x),称为加法同态:1. 给定 E (x),很难推导出 x. 2. 不同的输入,对应不同输出 3. E (x+y) 可以由 E (x),E (y) 计算出来。乘法同态类似。
零知识 - 证明者和验证者之间除了 “问题证明与否” 知识外,不知道其他任何知识(不知道随机挑选值,不知道挑选值的多项式计算结果等等)。
2.1 TEE可信计算环境
可信计算(Trusted Computing)是指系统提供的计算服务是可信赖的,是一种运算与防护并存的信息安全技术,保证了计算的行为与预期一致,同时保证全程是可检测可监控。
为实现计算行为的信任,通常需要证明平台的安全属性,保证部分关键计算不受到干扰,标识计算平台的身份,对外提供自己行为和环境的证据,以及对用身份的认证。可信计算的其中一种机制,是在硬件平台引入安全芯片架构,通过其提供的安全特征来提高终端系统的安全性,从而在根本上实现对各种不安全因素的主动防御。
可信计算的基本思想是,首先在计算机系统中构建一个信任根,信任根的可信性由物理安全、技术安全和管理安全共同确保;再建立一条信任链,从信任根开始到软硬件平台,到操作系统、再到应用、一级度量认证一级、一级信任一级、把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。
在可信计算组织(Trusted Computing Group - TCG)的规范中,对可信计算定义了三个属性:
可鉴别性:计算机系统的用户可以确定与他们通信的对象身份
完整性:用户确保信息能被正确传输
私密性:用户相信系统能保证信息的私密性
可信计算是基于密码的计算机体系架构安全技术,在TCG规范中,包括5个关键技术概念:认证密钥,安全输入输出,内容屏蔽/受保护执行,封装存储,远程证明。
可信技术在实践中的应用案例包括有:
Bit Locker: 针对离线攻击问题(如设备丢失,或使用其他引导介质启动后窃取硬盘数据,写入木马等),它关心系统的可信引导,着力确保在操作系统之前执行的所有引导相关代码都不存在被篡改的现象,防止被植入病毒或Root Kit等恶意程序,确保操作系统从引导到用户登录均处于可信的状态。
可信计算池:可信计算池主要针对云租赁业务中不同用户的安全需求所提出的计算资源池化、管理方案。主要解决的是安全可信计算的资源创建、分配、虚拟机可信保护、业务运行跟踪等问题。
可信云主机安全:主要融合可信计算、操作系统加固、虚拟计算安全等安全技术,以可信服务器为根,构建链接固件、VMM、Guest OS和上层应用的软硬一体化信任链,结合虚拟化加固、虚拟网络控制、操作系统加固等,应对云主机面临的服务器固件、硬件、OS、应用等传统攻击,虚拟化引入的VMM篡改、Guest OS镜像篡改、主机租户攻击等新型威胁。
2.2 安全沙箱/安全屋
安全屋主要是通过物理方式对数据的所有权和使用权进行分离,通常使用中心化和分布式相结合的混合架构,即各个数据提供方按照主控平台的接入规范统一接入平台,而所有管理权限由主控平台统一提供,各个参与的数据源方提供数据区的维护能力,通过这种方式来确保数据的整个流通过程安全可控的一种技术方案。
通过安全屋的方式,可以一个构建包含了数据源方,算法方,数据需求方,渠道方等多种用户角色的生态系统。安全屋在此生态中作为一个中立的第三方,通过安全的方式引入多样性的数据源,并协调和保证各参与方能够各司其职,形成数据流通生态闭环。
隐私计算发展的另外一个重要技术方向是联邦学习。 联邦学习作为分布式的机器学习新范式,以帮助不同机构在满足用户隐私保护,数据安全,和政府法规的要求下,可以进行数据联合使用和建模为目的。主要解决的问题就是,在企业各自数据不出本地的前提下,通过加密机制下的参数交换与优化,建立虚拟的共有模型。这个共有模型的性能和传统方式将各方数据聚合到一起使用机器学习方法训练出来的模型性能基本一致。通过这种方式,可以从技术上有效解决数据孤岛问题,让参与方在不泄露用户隐私数据的基础上实现联合建模,实现AI协作。
联邦学习被用来保护用户数据的隐私,但是它和上述的隐私保护理论,如差分隐私保护(Differential Privacy)、K匿名(K-Anonymity)和 L-多样化(L-Diversity)等方法还是有较大的差别的。联邦学习通过加密机制下的参数交换方式保护用户数据隐 私,加密手段包括同态加密等,其数据和模型本身不会进行传输,因此在数据层面上不存在泄露的可能,也不违反更严格的数据保护法案如 GDPR 等。 而差分隐私、K 匿名和L多样化等方法是通过在数据里加噪音,或者采用概括化、隐匿化的方法模糊某些敏感属性,直到第三方不能区分到个体为止,从而以较高的概率使数据无法被还 原,以此来保护用户隐私。但是从本质上来说这些方法还是进行了原始数据的传输,存在着潜在被攻击的可能性。在目前 GDPR 等更严格的数据保护方案下,联邦学习是对用户数据隐私保护更为有力的手段。
联邦学习主要分纵向联邦学习和横向联邦学习。 其中横向联邦学习中多方联合训练的方式与传统的分布式机器学习(Distributed Machine Learning)有部分相似的地方。传统分布式机器学习涵盖了多个方面,包括把机器学习中的训练数据分布式存储、计算任务分布式运行、模型结果分布式发布等,参数服务器(Parameter Server)是传统分布式机器学习的一个重要组成部分。参数服务器作为加速机器学习模型训练过程的一种工具,它将数据存储在分布式的工作节点上,通过一个中心式的调度节点调配数据分布和分配计算资源,以便更高效的获得最终的训练模型。而对于联邦学习而言,首先在于横向联邦学习中的工作节点代表的是模型训练的数据拥有方,其对本地的数据具有完全的自治权限,可以自主决定何时加入联邦学习进行建模,相对地在参数服务器中,中心节点始终占据着主导地位,因此联邦学习面对的是一个更复杂的学习环境;其次,联邦学习则强调模型训练过程中对数据拥有方的数据隐私保护,是一种应对数据隐私保护的有效措施,能够更好地应对未来愈加严格的数据隐私和数据安全监管环境。
4.1 差分隐私
差分隐私(Differential Privacy)是Dwork[3] 在2006年针对数据库的隐私泄露问题提出的一种新的隐私定义。主要是通过使用随机噪声来确保,查询请求公开可见信息的结果,并不会泄露个体的隐私信息,即提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会,简单来说,就是保留统计学特征的前提下去除个体特征以保护用户隐私。
当用户(也可能是潜藏的攻击者)向数据提供者提交一个查询请求时,如果数据提供者直接发布准确的查询结果,则可能导致隐私泄漏,因为用户可能会通过查询结果来反推出隐私信息。为了避免这一问题,差分隐私系统要求从数据库中提炼出一个中间件,用特别设计的随机算法对中间件注入适量的噪音,得到一个带噪中间件;再由带噪中间件推导出一个带噪的查询结果,并返回给用户。这样,即使攻击者能够从带噪的结果反推得到带噪中间件,他也不可能准确推断出无噪中间件,更不可能对原数据库进行推理,从而达到了保护隐私的目的。
差分隐私中一个关键概念是相邻数据集,假设给定两个数据集D和D’,如果它们有且仅有一条数据不一样,那么这两个数据集可称为相邻数据集。那么如果对于一个随机算法A如果其分别作用于两个相邻数据集得到的两个输出分布式难以区分的,那么这个算法就被认为达到差分隐私的效果。这里的随机算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布的算法。下面公式是Dwork的差分隐私定义:
公式
也就是说这个算法作用于任何相邻数据集,得到一个特定输出O的概率是差不多,从而观察者通过观察输出结果很难觉察出数据集的细小变化,通过这种方式来达到保护隐私的目的。
差分隐私的主要实现机制,主要是在输入或输出上加入随机化的噪音:拉普拉斯噪音(Laplace Noise),高斯噪音(Gaussian Noise),指数机制等
一些企业已经开展了相关的工程实践。Google利用本地化差分隐私保护技术从Chrome浏览器每天采集超过1400万用户行为统计数据。在2016年WWDC主题演讲中,苹果工程副总裁Craig Federighi宣布苹果使用本地化差分隐私技术来保护iOS/MacOS用户隐私。根据其官网披露的消息,苹果将该技术应用于Emoji、QuickType输入建议、查找提示等领域。例如,Count Mean Sketch算法(CMS)帮助苹果获得最受欢迎的Emoji表情用来进一步提升Emoji使用的用户体验,下图展示了利用该技术获得的US English使用者的表情使用倾向。
差分隐私用于表情使用统计
差分隐私具有三个最重要的优点:
(1) 差分隐私严格定义了攻击者的背景知识:除了某一条记录,攻击者知晓原数据中的所有信息——这样的攻击者几乎是最强大的,而差分隐私在这种情况下依然能有效保护隐私信息;
(2) 差分隐私拥有严谨的统计学模型,极大地方便了数学工具的使用以及定量分析和证明。
(3) 差分隐私不需要特殊的攻击假设,不关心攻击者拥有的背景知识,量化分析隐私泄露风险。
4.2 K匿名算法
在大数据的时代,很多机构需要面向公众或研究者发布其收集的数据,例如医疗数据,地区政务数据等。这些数据中往往包含了个人用户或企业用户的隐私数据,这要求发布机构在发布前对数据进行脱敏处理。K匿名算法是比较通用的一种数据脱敏方法。
举例来说,如下图是两张表,一张是用户的会员注册信息表,一张是对外发布的医疗信息表。
会员注册信息表
去标识符处理的医疗信息表
第二张医疗信息表中,虽然已经把用户姓名,身份证号等个人关联信息抹去,但如果直接发布这样简单匿名处理的数据,同样会带来数据泄露的风险。因为通过两张不同数据来源的表进行关联,对出生日期,性别,邮编的值进行匹配,可以定位出张三患有心脏病的隐私数据。这种通过某些属性与外部表链接的攻击称为链接攻击。
如上图两个表所示,每一行代表用户的一条记录,每一列表示一个属性。每一个记录与一个特定的用户/个体关联,这些属性可以分为三类:
标识符(Explicit Identifier):可以直接确定一个个体,如:身份证号,姓名等。
准标识符集(Quasi-identifier Attribute set): 可以和外部表链接来识别个体的最小属性集,如:邮编,生日,性别等
敏感数据(Sensitive Attributes):用户不希望被人知道的数据,如:薪水,疾病历史,购买偏好等。
K-匿名(K-Anonymity)是Samarati和Sweeney在1998年提出的技术,该技术可以保证存储在发布数据集中的每条个体记录对于敏感属性不能与其他的K-1个个体相区分,即K-匿名机制要求同一个准标识符至少要有K条记录,因此观察者无法通过准标识符连接记录。
K-匿名的具体使用如下:隐私数据脱敏的第一步通常是对所有标识符列进行移除或是脱敏处理,使得攻击者无法直接标识用户。但是攻击者还是有可能通过多个准标识列的属性值识别到个人。攻击者可能通过(例如知道某个人的邮编,生日,性别等)包含个人信息的开放数据库获得特定个人的准标识列属性值,并与大数据平台数据进行匹配,从而得到特定个人的敏感信息。为了避免这种情况的发生,通常也需要对准标识列进行脱敏处理,如数据泛化等。数据泛化是将准标识列的数据替换为语义一致但更通用的数据,以上述医疗数据为例,对邮编和年龄泛化后的数据如下图所示。
K-匿名泛化脱敏处理后的医疗信息表
经过泛化后,有多条纪录的准标识列属性值相同。所有准标识列属性值相同的行的集合被称为相等集。K-匿名要求对于任意一行纪录,其所属的相等集内纪录数量不小于K,即至少有K-1条纪录的准标识列属性值与该条纪录相同。
K-匿名技术就是每个相等集(或称为等价组)中的记录个数为K个,那么当针对大数据的攻击者在进行链接攻击时,对于任意一条记录的攻击同时会关联到相等集中的其他K-1条记录。这种特性使得攻击者无法确定与特定用户相关的记录,从而保护了用户的隐私。
K-匿名的实施,通常是通过概括(Generalization)和隐匿(Suppression)技术来实现。概括(Generalization)指对数据进行更加概括、抽象的描述,使得无法区分具体数值,例如年龄这个数据组,概括成一个年龄段(例如上表中的>=40岁)。而隐匿(Suppression)指不发布某些信息,例如上表中的用*号替换邮编的末三位。通过降低发布数据的精度,使得每条记录至少与数据表中其他的K-1条记录具有完全相同的准标识符属性值,从而降低链接攻击所导致的隐私泄露风险。
K-匿名技术能保证以下三点:
攻击者无法知道某特定个人是否在公开的数据中
给定一个人,攻击者无法确认他是否有某项敏感属性
攻击者无法确认某条数据对应的是哪个人
但从另外一个角落来看,K-匿名技术虽然可以阻止身份信息的公开,但无法防止属性信息的公开,导致其无法抵抗同质攻击,背景知识攻击,补充数据攻击等情况:
同质攻击: 如在上面的K-匿名医疗信息表中,第1-3条记录的敏感数据是一致的,因此这时候K-匿名就失效。观察者只要知道表中某一个用户的邮编是476***,年龄在20多岁,就可以确定他有心脏病。
背景攻击: 如果观察者通过邮编和年龄确定用户王一在K-匿名医疗信息表的等价集3中,同时观察者知道王一患心脏病的可能很小,那么他就可以确定王一曾经骨折。
补充数据攻击:当公开的数据有多种类型,如果他们的K-匿名方法不同,那么攻击者可以通过关联多种数据推测用户信息。
4.3 L-多样性多样化
为了解决同质性攻击和背景知识攻击所带来的隐私泄露,Machanavajjhala等人提出了L-多样性(l-diversity)模型。简单来说,就是在公开的数据中,每一个等价类里的敏感属性必须具有多样性,即L-多样性保证每一个等价类里,敏感属性至少有L个不同的取值,通过这样L-多样性使得攻击者最多只能以1/L的概率确认某个体的敏感信息,从而保证用户的隐私信息不能通过背景知识,同质知识等方法推断出来。
3-Diversity样例
如上图所示,在每一个等价集中,包含至少3个以上不同的属性值,那么这部分公开数据就满足3-diversity的属性。
要实施L-多样性模型,除了上述的不可区分属性方式,通常还可以引入其他的统计方法来实现:
不可区分L-多样性(Distinction L-Diversity): 在同一个等价类中至少出现L个不同的敏感属性值。
基于概率的L-多样性(Probabilistic L-Diversity):在一个类型中出现频率最高的值的概率不大于1/L;
基于熵的L-多样性(Entropy L-Diversity): 在一个等价类中敏感数据分布的熵至少是log(L);
递归(C,L)-多样性(Recursive (C,L)-Diversity): 通过递归的方式,保证等价类中最经常出现的值的出现频率不要太高。
递归(C1, C2, L)-多样性(Recursive(C1,C2,L)-Diversity): 通过递归的方式,保证等价类中最经常出现的值的出现频率不要太高, 同时还保证了等价类中频率最低的敏感属性出现的频率不能太低。
L-多样性也具有一定局限性:
敏感属性比例的严重不均衡导致L-多样性难以实现,例如某疾病检测报告,敏感属性只有“阳性”和“阴性”,分别占比1%和99%,阴性人群并不在乎被人知道结果,但阳性人群可能很敏感。如果在一个等价类中均为阴性,是没有必要实现可区分的2-Diversity。
偏斜性攻击(Skewness Attack):如果在上面那个例子中,我们保证了阳性和阴性出现的概率相同,虽然保证了多样性,但是泄露隐私的可能性会变大,因为L-多样性并没有考虑敏感属性的总体分布。
L-多样性没有考虑敏感属性的语义,而导致敏感信息的泄露。例如敏感属性是“工资”,某一等价类中的取值全为2K-3K之间,那么观察者只要知道用户在这一等价类总就可以知道其工资处于较低水平,具体数值观察者并不关心。
1. 性能提升
隐私计算,尤其是安全多方计算和联邦学习都使用了分布式计算,通过密码学加密计算保证了隐私数据不泄露,也必然在计算性能方面产生巨大的消耗。随着加密计算技术的不断发展,联邦学习算法的优化和硬件算力的提升,隐私计算的性能一定会提升一个明显的台阶,达到商用产品化水准。
2. 功能扩展
未来,隐私计算将会包含更多加密算法,也会结合行业适应更多的应用场景。目前,隐私计算和联邦学习技术可应用于金融、医疗、政务等行业。比如在金融领域,传统金融机构、互联网金融公司、金融科技公司通过隐私计算进行相互之间多场景的用户数据补充,来进行信用画像评分,提高用户风控能力,解决“联合风控”和”联合营销”问题。比如在医疗领域,患者的患病记录在不同区的不同医院可能是不同的,单个医院无法训练出对特定任务有良好性能的高质量模型,每个医院之间进行协作后,可以使用共有的患者数据协同训练机器学习模型。
隐私计算和联邦学习的技术还将逐步与其他不同领域的融合,满足金融征信、供应链⾦融、物流、存证溯源、物联网及慈善行业等多种应用场景。未来,金融行业数据也将和税务、公安、社保、劳动、社会保障、环境保护、安全生产等政府数据的打通,通过建立在金融行业数据共享以及和政府数据打通基础上的征信系统,打破不同行业的数据孤岛,实现社会运行机制健康发展,对社会生活方式和国家治理能力产生深刻影响
3. 开源与安全性
随着隐私计算作为数据安全流通的解决方案越来越被大数据行业所认知, 越来越多的机构开始研发搭建自己的隐私计算系统,甚至出现有些科技公司直接采用开源框架如TensorFlow或者FATE, 包装一下然后推向市场。开源框架作为教学和研究的工具教育了市场,让大数据行业接受隐私计算相关技术,这是功不可没的。同时,开源并不意味着安全,因为对“黑客”或者恶意者也是开源的,在漏洞被暴露、被修补之前必然面临更多的攻击。对于政府机关、工业大数据、金融机构等涉及国家安全的领域,真正要做到安全还是需要经过专业第三方的代码安全审计、权威机构的产品认证和检测。隐私计算项目是否具有自主产权、具备核心技术能力,才是更加重要的安全保障。如果基于TEE、Tensorflow这些国外的核心技术,有可能从一开始就埋下了定时炸弹。
4. 建立互联互通行业标准
虽然隐私计算的目标是打破数据孤岛,但目前却由于不同技术流派和框架不能兼容而形成新的围墙。
因此,行业领导者不仅仅建立隐私计算的框架规范,还需要建立互联互通的接口规范。联邦学习、安全多方计算等都需要对应的接口规范。一个机构无需部署多个系统,而是通过一套接口服务,与外部各种机构进行大数据协同的连接合作。
建立大数据隐私计算和联邦学习生态
行业的健康发展,需要良性循环、正向激励的生态。
一是技术和标准的健康发展。
二是应用场景和商业落地的促进。
三是法律法规的进一步健全。
相关推荐
隐私计算技术的三大主流门派
36氪研究 | BAT都不放过的淘金机会,隐私计算能长出平台吗?
隐私计算:拿什么保护我们的数据安全?
创投日报 | 滴滴自动驾驶获5亿多美元首轮融资,「全屋优品」完成近亿元B+轮融资;以及今天值得关注的早期项目
打造隐私云计算平台,锘崴科技想让医疗、金融数据安全分享
分散化不是解决 Facebook 隐私问题的良药
潮科技 | 隐私计算应用场景详解
用生物计算技术打造生命科学平台,李彦宏牵头创立「百图生科」
硬核测试:50个主流App,有41个在“偷看”你的剪贴板
36氪首发 | 金融级隐私计算服务商「蓝象智联」获得数千万元融资,金沙江创投和联想之星联合投资
网址: 隐私计算技术的三大主流门派 http://m.xishuta.com/zhidaoview10349.html