➢ 其他基于密码学的隐私计算技术
除了多方安全计算,同态加密、差分隐私、零知识证明等基于密码学的技术也是经常被纳入隐私计算体系范畴内的代表性技术。这些也都是基于密码学理论的实现方案,大多因为通用性不足、性能差等原因的限制,没能登上密码学流派隐私计算的C位,但这些技术仍然值得关注和讨论。
● 同态加密(Homomorphic Encryption,简称HE)
同态加密是一类具有特殊属性的密码学技术,该概念最早在1978年由Ron Rivest、Leonard Adleman和Michael L.Dertouzo提出。与一般加密算法相比,同态加密除了能实现基本的加密操作,还能实现密文上的多种计算功能,即先计算后解密可等价于先解密后计算。这个特性对于保护数据安全具有重要意义。使用同态加密算法,不持有私钥的用户也可以对加密数据进行处理,处理过程不会泄露任何原始数据信息。同时,持有私钥的用户对处理过的数据进行解密后,可得到正确的处理结果。
举个例子来说明:Alice买到了一大块金子,她想让工人把这块金子打造成一个项链。但是工人在打造的过程中有可能偷金子,Alice可以通过以下这种方法既让工人加工金子又不能偷走金子。Alice将金子锁在一个密闭的盒子里面,这个盒子安装了一个手套。工人可以戴着这个手套,对盒子内部的金子进行处理。但是盒子是锁着的,所以工人不仅拿不到金块,连处理过程中掉下的任何金子也都拿不到。加工完成后。Alice拿回这个盒子,把锁打开,就得到了项链。
这里面的对应关系如下:盒子——加密算法;盒子上的锁——用户密钥;将金块放在盒子里面并且用锁锁上——将数据用同态加密方案进行加密;加工——应用同态特性,在无法取得数据的条件下直接对加密结果进行处理;开锁——对结果进行解密,直接得到处理后的结果。
同态加密从功能上可分为部分同态算法和全同态算法。部分同态加密(PHE)指要么支持加法同态,要么支持乘法同态,或者两者都支持但是操作次数受限,这意味着此同态加密方案只支持一些特定的函数。但与此同时也可以降低开销,容易实现,因此已经在实际中得到较广泛的使用。完全同态加密(FHE),又称全同态加密,指同时满足同态加法运算和同态乘法运算,这意味着任意给定的函数,只要可以通过算法描述,就可以用计算机实现。但全同态计算开销极大,目前仍处于开发阶段,几乎无法在实际中使用。但为提高全同态加密的效率,密码学界对其研究与探索仍在不断推进,这将使得全同态加密越来越向实用化靠近。
按照其满足的具体运算类型,同态加密算法又可分为加法同态(例如Paillier同态)、乘法同态(例如RSA同态),以及加法乘法都满足的全同态加密(例如Gentry同态加密)。
同态加密在分布式计算环境下的密文数据计算方面具有比较广泛的应用领域,比如安全云计算与委托计算、匿名投票、文件存储与密文检索等。例如在云计算方面,如果由于安全隐患,用户不敢将密钥信息直接放到第三方云上进行处理,那么通过同态加密,则可以放心使用各种云服务,同时各种数据分析过程中也不会泄露用户隐私。同时,在区块链上,使用同态加密,智能合约也可以处理密文,而无法获知真实数据,能极大地提高隐私安全性。
● 差分隐私(Differential Privacy,简称DP)
差分隐私是Dwork在2006年针对数据库的隐私泄露问题提出的一种新型稳私保护机制。该机制是在源数据或计算结果上添加特定分布的噪音,确保各参与方无法通过得到的数据分析出数据集中是否包含某一特定实体来实现隐私保护。
关于差分隐私是否属于密码学领域,其实是有争议的。毕竟相比于同态加密,它没有传统意义上的加密解密,而是通过噪声增加随机性。但差分隐私这一概念确实来自密码学中关于语义安全的概念,即攻击者无法区分出不同明文的加密结果。总的来说,我们可以把差分隐私看作密码学中的一位“远亲”。
结合维基百科中给出的定义,差分隐私的特点是“在进行统计查询时,在最大化数据查询的准确性的同时最大限度减少识别其记录的机会。具体可以这样理解,统计查询的目标是从数据集中抓取有效信息,而隐私却要隐藏掉个人的信息,两者之间存在冲突。举个简单的例子,假设现在有一个婚恋数据库,2个单身8个已婚,只能查有多少人单身。刚开始的时候查询发现,2个人单身;如果此时有一个人跑去登记了自己婚姻状况,而再次查询的结果是3个人单身,则可以很容易反推出新登记的人是单身。
针对上述冲突,差分隐私提供了一种方案:利用随机噪声向查询结果中加入随机性,来确保统计查询的结果并不会因为单一个体的增减而变化。在数学上,差分隐私被定义为Pr[κ(D1)∈S]≤exp(ε)×Pr[κ(D2)∈S],其内涵是对于相差一条数据记录的两个数据集(D1,D2),查询它们获得相同结果的概率是非常接近的。此时,如果有一种算法使得攻击者在查询N条信息和去掉任意一条信息的其他N-1条信息时,获得的结果是一致的,那攻击者就没办法确定出第N条信息了,其对应的个体就得到了隐私保护。
按照隐私保护技术所处的数据流通环节的不同,差分隐私技术可分中心化差分隐私技术和本地化差分隐私技术。中心化差分隐私是将原始数据集中到一个数据中心,然后发布满足差分隐私的相关统计信息,适用于数据流通环节中的数据输出场景。本地化差分隐私则是将对数据的隐私化处理过程转移到每个用户上,在用户端处理和保护个人敏感信息,更适用于数据流通环节中的数据采集场景。
差分隐私是建立在严格的数据理论基础之上的定义,相对于其他传统的隐私保护方案,有三个优点:一是不关心攻击者所具有的背景知识;二是具有严谨的统计学模型,能够提供可量化的隐私保证;三是添加噪声不会额外增加计算开销,保护了性能。但随机噪声的添加在一定程度上也会影响数据本身的可用性。在现有的落地应用中,差分隐私主要用于传统的数据脱敏、匿名化等问题,代表性的案例如苹果和谷歌分别在iOS和Chrome中使用差分隐私技术,在收集用户使用信息的同时保障隐私。
● 零知识证明(Zero-Knowledge Proof,简称ZKP)
零知识证明由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初首先提出,用于在不泄露关于某个论断任何信息的情况下证明该论断的正确性,即是“证明者”想证明他有某个能力但又不将相关信息透露出去的一种手段。近年来,零知识证明多用于增强区块链技术的隐私保护上。
Jean-Jacques Quisquater和Louis Guillou用一个关于洞穴的故事来解释零知识证明。如图2-8所示,洞穴里有一个秘密,知道咒语的人能打开C和D之间的密门。但对任何人来说,两条通路都是死胡同。
图2-8 零知识证明思想原理示意图
假设P知道这个洞穴的秘密,她想对V证明这一点,但她不想泄露咒语。下面是她如何使V相信的过程。
(1)V站在A点。
(2)P一直走进洞穴,到达C或者D点。
(3)在P消失在洞穴中之后,V走到B点。
(4)V向P喊叫,要她:从左通道出来,或者从右通道出来。
(5)P答应,若有必要则用咒语打开密门。
(6)P和V重复步骤(1)~(5)多次。
在多次重复中,若每次P都从V要求的通道中出来,则能说明P确实知道咒语,并且V不知道咒语的具体内容。
我们再用一个更直接的例子说明零知识证明这类方法的好处。如果Alice要想Bob证明自己拥有某个房间的唯一钥匙(该房间没有其他进入方式),那么可以有两种方法。方法一是Alice直接将钥匙交给Bob,如果Bob可以用钥匙打开房间,则说明Alice确实有正确的钥匙。方法二是Bob确定房间内有某个物体,Alice自己用钥匙开锁并把对应物体拿出来,从而证明自己确实有正确的钥匙。对比之下,在方法二的证明过程中,Bob并没有看到或拿到钥匙,避免了钥匙的泄露,这种方法就属于零知识证明。
根据上述定义和示例可以说明零知识证明具有的三个重要性质:一是完备性,只要证明者拥有相应的知识,就能通过验证者的验证,即证明者有足够大的概率使验证者确信;二是可靠性,如果证明者没有相应的知识,则无法通过验证者的验证,即证明者欺骗验证者的概率可以忽略。三是零知识性,证明者在交互过程中仅向验证者透露是否拥有相应知识的陈述,不会泄露任何关于知识的额外信息。
基于以上特性,零知识证明非常适用于交易有效性证明、供应链金融、数据防伪溯源等场景,可以让验证方既不知道数据具体内容,又能确认该内容的是否有效或合法,因此近年来,零知识证明多用于增强区块链技术的隐私保护上。