隐私计算真的靠谱吗?和区块链啥关系?

399 阅读8分钟

  近年来无论是“国家数据局”在推进“数据要素”相关工作中,还是在各类数字政府项目建设中,都频繁出现“隐私计算”概念,很多同学都好奇隐私计算的定位,隐私计算真的可以在保护数据隐私同时又能支持数据的计算利用?隐私计算和区块链为啥经常一起出现,它们之间是啥关系?针对这些问题,笔者稍作梳理和总结。

  隐私计算的定位,主要适用于在多个参与方之间进行数据分析计算或者机器学习的场景,并且数据提供方又不愿意直接共享或交换数据,需要一个安全保障和名义,在数据不出域的基础上实现数据可算不可见,也就是各参与方可以利用数据提供方的数据进行业务计算,但又看不到其具体的明细数据,看起来很拗口、很矛盾,下文详细解释。

隐私计算典型架构与核心能力

  隐私计算典型架构如下:
企业微信截图_17422115194328.png

  在这个典型架构中,实现数据可算不可见、明细数据不出域等关键特征,主要是依靠以下核心算法和能力:

   ● 隐匿查询(PIR),主要是保护数据查询方,让数据提供方不知道查询方具体查询了哪个数据,主要用于嫌疑查询场景,因为被查询的数据实际有可能没有问题,要避免数据提供方针对该条数据做过激反应。安全原理比较简单,就是对发起方查询条件要加密,数据提供方要提前将数据加载到内存,并且主键也是加密的,这样提供方不知道查了什么和命中了什么。

  ● 隐私求交(PSI),主要是针对两个节点上的数据按主键做交集查询,参与方只能获得交集结果,而无法获得交集以外的任何其他信息,属于MPC多方安全计算方式的一种,可以是第三方单位发起调用,也可以是两个节点中的其中一个发起调用。安全原理主要是利用非对称加密技术,对求交双方的主键都统一用发起方的公钥做加密,计算交集结果返回发起方后,再用发起方私钥解密,就能得到真正的交集范围,而且只有发起方能解密得到交集的范围。

   ● 联合查询(SCQL),是更高级更复杂的MPC多方安全计算方式,目前只有个别隐私计算产品才具备该项能力,提供类sql的能力,它针对多个节点上的数据,可以根据隐私授权设置,进行相应联合查询,可以设置查询关联compare字段,groupby统计维度字段,aggregate聚合字段,甚至plaintext明文返回字段等,可以是多个节点数据联合隐私查询,也可以是远程隐私查询某一个节点的数据。安全原理主要是利用同态加密或者差分隐私等技术,对指标字段加密后,还能够比较大小、聚合统计等操作,并且聚合统计结果解密后和基于明文直接统计是一样的。

隐私计算与数据加密的区别和关联

  从以上描述中可以看出,其实隐私计算用到了大量的加密技术,包括对称加密、非对称加密等常规加密手段,也会用到同态加密、差分隐私等特殊保护手段,后者与我们在应用系统中使用的常规加密技术相比:

1)在数值计算方面

  一般的加密方式,对于数值、金额等指标字段进行加密后就乱码了,不能再用于比较或汇总统计了。 企业微信截图_17422130843851.png

  而差分隐私是对指标数据进行扰动,举个例子,假设要针对一张表的某个字段进行求和,所谓差分隐私的扰动就是对有的行+5,有的行-4,还有的行-1等等,只要扰动因子尽量平均,这个字段扰动后,其汇总统计和原始统计结果基本差不多,当然这里是存在一定的误差的,隐私保护越强,扰动越大,统计结果误差越大,这就是追求隐私还是追求可计算的平衡问题。

  而同态加密则是对数据做加密,还是上面这个例子要对某个表的某个字段求和,那同态加密就是对该表中每一行这个字段都乘以10,然后将乘以10之后的中间结果求和,对求和的结果做相同形态的反向操作,也就是除以10,得到结果和原始统计结果是完全一致的,而前面乘以10的中间结果,可以认为是加过密的,和原始值已经不一样了,但又不影响对该字段的汇总计算,当然实际的同态加密过程远远比这个复杂。

2)在是否可逆方面

  一般的加密方式,无论是对称加密,还是非对称加密,其加密结果都是可逆的,可以解密的,而差分隐私和同态加密,则其结果是不能再解密得到明文的,它只能用于汇总计算,这一点和脱敏有点相似性。

与数据共享交换的区别和关联

  常规的数据共享交换核心在于共享和交换,需要将数据共享出来,或者交换给对方,而隐私计算关键在于保护隐私的前提下支持数据计算利用,但它不是直接把数据给到对方,而是要确保参与计算的“数据不出域”,数据保留在各单位自己的计算节点中。

  在数据共享交换场景,当然也可以增加“数据安全”特性,比如先对明细数据进行汇总加工再共享交换,或者是先对数据进行加密再共享交换,但这些手段只能保障单方的数据安全,统计或加密后的数据,还是要共享交换给对方去落地存储,这和隐私计算的“数据不出域”在内存中进行密态计算还是有很大区别。尤其是针对多个参与方的关联计算场景,如果不使用隐私计算,那只能是将各方数据先共享交换到一个集中的区域才能进行数据关联。而且无论是先汇总还是先加密,再共享集中后的数据,往往就没法再进行关联统计与计算了。

  当然从业务角度看,可以将隐私计算作为数据共享交换平台的一种高阶能力,作为产品层面的封装集成。

与区块链技术的区别和关联

  区块链技术和隐私计算的目的完全不同,它一是为了数据公开,方便区块链参与各方都可以共享查阅上链的数据,它不涉及数据隐私保护问题,隐私数据就不应该上链公开,二是为了数据防篡改/防抵赖,因为区块链共享账簿机制,使得上链公开数据不能被一方偷偷篡改,所以常用于存证和追溯等场景。详细对比如下:企业微信截图_17422131624494.png

  虽然隐私计算和区块链技术差别很大,但业界在探索将区块链和隐私计算技术结合,组合利用各自技术特征,用于多部门之间数据安全协作,以数据要素流通管理典型场景为例:

image.png

  ● 利用区块链数据公开和透明共享特性,将各方数据服务目录、数据资产等元数据信息公开上链,让参与各方都知道对方有哪些数据或服务。

  ● 利用区块链数据可追溯、防篡改等特性,将数据服务调用方或数据申请方每次调用或申请的信息上链,用于存证和审计。

  ● 而真正的业务隐私数据,还是利用数据服务或隐私计算等方式进行访问利用,和区块链没关系。

图片

  以上就是笔者在项目中引入隐私计算关键技术时,采用的“比较+问题学习法”,通过与已熟知的相似技术去对比思考,比如它和常规加密技术的区别,和共享交换的关系,和区块链的对比等,带着这些问题去寻找资料进行学习总结。

—End—

源载:微信公众号“木昆子记录”,欢迎关注

image.png