写点什么

破解数据流通不畅问题,多方安全计算技术到底行不行?

  • 2021-05-26
  • 本文字数:3308 字

    阅读完需:约 11 分钟

破解数据流通不畅问题,多方安全计算技术到底行不行?

数据已经取代“石油”成为当今世界最有价值的资源。但是,企业或政府等组织却无法发挥其最大价值。而主要原因在于数据流通不畅。由中国信通院发布的《隐私保护计算技术研究报告(2020 年)》表明,数据流通不畅有三大原因:“数据孤岛”现象的普遍存在、全球数据合规监管日趋严格和隐私泄露事件频发


现实中,数据使用方需要将各方数据融合在一起,建立模型进行数据挖掘;数据拥有者出于数据安全保密的顾虑而不愿共享数据,结果导致不同企业、不同机构间难以获取对方数据进行联合分析或建模,数据价值无法充分发挥。这就是数据流通不畅的真实写照。目前,它已经成为制约大数据行业发展的重要问题。

解决这个问题的新手段

据了解,隐私保护计算技术被视为解决数据流通不畅问题的有效手段。什么是隐私保护计算技术?《隐私保护计算技术研究报告(2020 年)》这样解释:隐私保护计算技术并不是一种单一的技术,它是一套包含人工智能、密码学、数据科学等众多领域交叉融合的跨学科技术体系,实现数据”可用不可见“


目前,隐私保护计算技术主要有五大技术:多方安全计算、联邦学习、机密计算、差分隐私和同态加密。其中,多方安全计算技术近年来快速成熟,支持的应用场景越来越多,备受关注。

多方安全计算技术

谈起多方安全计算技术,不得不提一个著名问题 - 百万富翁问题:


两个百万富翁在街头相遇,他们都想比一比谁更有钱。但是出于隐私,谁都不想让对方知道自己拥有多少财富。在不借助第三方的情况下,如何得出谁的财富更多。


这个问题由姚期智(图灵奖获得者、清华大学交叉信息研究院院长)在 1982 年提出并作出解答。并且,他用数学理论证明了凡是可以在明文数据上进行的计算,理论上都可以在密文上直接进行计算,并得出与明文计算完全一致的结果,从而创立”多方安全计算“(Secure Multi-Party Computation,简称 MPC)的理论框架。


简单说,多方安全计算技术解决的是“一组互不信任的参与方之间在保护隐私信息以及没有可信第三方的前提下的协同计算问题”。


在华控清交副总裁黄斌看来,多方安全计算技术可以实现“数据可用不可见”,让数据流通。据悉,自上世纪八十年代姚期智等人提出多方安全计算以来,这项技术更多停留在学术研究层面。当时,相对于传统的加密和传输,使用多方安全计算技术进行加密相对于不加密而言,其计算耗时大约要上升十万至百万倍。这在工程实践中是难以接受的。而近年来,随着算法协议的优化和计算能力的增强,计算耗时已经从数十万倍下降至 100 倍以内。


黄斌表示,多方安全计算技术的性能目前基本可以满足大规模商用要求。这个行业里,一部分厂商选择的技术道路是一种点对点计算,没有把数据节点和计算节点拆开,因此它实际上是一个两方计算的架构,扩展性差。


“这样,只能 A 与 B 做计算,如果 C 要参与进来,那就做不了。但是,我们一开始设计时,数据功能和计算功能是分离的。如果加入新的数据节点,那不影响这个架构。并且,我们的计算节点也是可扩展的,跟 Hadoop、Spark 一样。”他说。

数据行业的老兵

作为 IT 行业的资深人士,黄斌一直在做数据领域相关的工作,对数据有着深刻的认识。


华控清交副总裁黄斌


据悉,他 2000 年毕业后加入华为,做网络相关的软件系统开发。在华为工作的后期,他的工作是通过采集网络上的数据来对网络进行调优。换句话说,通过数据来反向控制网络配置,让网络实现均衡。2018 年,他离开华为,加入阿里,做工业大脑、城市大脑相关的工作。在阿里做工业大脑,核心也是通过采集设备和装备的数据,去控制设备或调控生产计划。


在与数据长时间打交道后,他认识到“如果你没有数据,就是拍脑袋决策”。即使有了数据,企业里也会存在数据孤岛,并且因部门设置,数据孤岛很难打通。在黄斌看来,数据孤岛分两种情况:“一是其他部门根本不想和你一起做这件事,二是其他部门可以和你做这件事,但是不知道怎么做,因为有合规要求,比如银行数据不能出门”。


此外,有些业务可以做,数据也能流动,但是其手段比较原始。比如政府间的数据流通,有一种办法是“A 方把数据刻录到一张光盘上,通过一个类似于机密通道的方式送给 B 方,B 方拿到这个光盘,签个字获得光盘”。


黄斌在机缘巧合下认识了华控清交,了解到他们使用多方安全计算技术来解决数据流通不畅问题。据了解,华控清交成立于 2018 年 6 月,张旭东任 CEO,清华大学交叉信息研究院长聘副教授徐葳为首席科学家。


2020 年 4 月加入华控清交后,他担任公司副总裁,负责公司产品研发和工程化工作。

多方安全计算技术的落地难点

多方安全计算技术目标是解决数据流通共享中的安全保密问题。在无可信第三方的条件下,多方安全计算通过同态加密、混淆电路、不经意传输和秘密分享等技术环节,保障各个参与方数据输入的隐私性和计算结果的准确性。


自 20 世纪 80 年代以来,多方安全计算经过理论研究阶段、实验室阶段、应用初创阶段,目前正处于规模化发展阶段。


黄斌表示,目前,一方面,多方安全计算理论本身在发展;另一方面,多方安全计算的工程实践也在向前发展。比如,一个密码学算法,它在数学上可能早已被证明,但是在工程落地上还有很多事情要做。

如何同时满足高吞吐和低延迟?

据了解,多方安全计算技术的一大难点在于工程实践。黄斌指出,工程上主要难点在于要同时满足高吞吐和低延迟。既要满足大数据量下的查询、统计、训练,又要满足一些诸如人脸特征比对的实时性应用。“这需要架构上在保障数据安全的同时,对计算、传输、序列化等做很多的优化”。


多方安全计算从理论到落地有两个阶段:一是理论到实验室科研原型;二是从实验室原型再到实际应用落地。


他坦言,“第二个阶段更难,因为需要投入更多的人。同时,在实际落地过程中,还要考虑商业化、传播技术和教育市场。此外,工程实践难点也很多。实验室做一个原型,跑完 100 个数据,甚至把 1+1=2 做完就行了。但是现在,我们要计算上亿条数据,还要跟客户一起测试。计算 100 条数据相加,这很容易;如果拓展到上亿条数据,这个事情就难了。”


一旦处理上亿条数据,就要按照大数据的方式做,这需要调度的机器资源量完全不一样,复杂度急剧增加。


为解决这个工程难题,“要做好亿级 MPC 数据处理”。一方面,优化算法,比如 MapReduce 阶段,明密文混合计算不同阶段的拆分;另一方面,做好调度,把数据的读取、加密、传输、计算、解密、存储等各个阶段协调好,在做好安全、容错的基础上无缝衔接各个阶段,来充分利用计算资源。

调度怎么做?

如果数据量少,调度完全没问题。事实上,他们遇到的单个数据流通会达到上亿,比如 A 方与 B 方各有几亿条数据求交集。


一旦数据量太大,调度就会遇到挑战。“因为你任务量大了后,我加机器,机器堆到一定程度,调度可能调不过来。所以,这个时候还是要去优化调度的东西”。


黄斌指出,这里面有几个瓶颈点。最大的瓶颈是磁盘,第二个瓶颈是网络。然后,配合从磁盘读数据,网络传输数据,还有计算数据。“这三个动作是非常关键的:读数据、传数据、算数据”。


调度系统的理想情况是“这边刚刚算完,数据就传到那边,中间没歇着。然后,就把这个瓶颈点变成读磁盘了。因为读写磁盘是最慢的,其次是网络,最快是计算。最好是让计算节点在刚好算完一批数据的时候,下一批要算的东西就到那里了。这样,这个系统没有空闲”。


在黄斌看来,多方安全计算技术落地成功的关键是业务。如果没有业务驱动,这个技术最终只能成为“水中月、镜中花”。而事实上,在金融、政务等领域已经有多方安全计算的落地和应用。


以多头借贷为例。跨国银行一般遍布全球,在亚洲、欧洲、北美等都有业务,这些地方对数据安全和合规的要求比较高。如果一个人拿着一张货运单到跨国银行香港分行的柜台,去抵押货运单,来获得一笔贷款。可能几天后,他又跑到欧洲,拿着这张货运单干同样的事。因此货运单可能被重复抵押。为避免出现这种情况,跨国银行需要通过一些手段进行确认。传统上,可能通过打电话确认,但这样的方式效率很低,因此就可以使用多方安全计算技术。

写在最后

在 DT 时代,数据应用与隐私保护的矛盾日益突出。如何化解这个矛盾,势必是人们长期面临的问题。某种意义上,兼具理论研究和实际应用价值的多方安全计算,为解决这个问题提供了一条重要的技术路径。

2021-05-26 14:551889
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 359.6 次阅读, 收获喜欢 1801 次。

关注

评论

发布
暂无评论
发现更多内容

在Android项目中接入Flutter,在Flutter使用安卓布局---草稿

android 程序员 移动开发

备战阿里面试一年半顺利通过二面,面对突如其来的疫情,让我的阿里三面搁浅ing

android 程序员 移动开发

大神一招搞定:ReentrantReadWriteLock-几道小小数学题就够了。

android 程序员 移动开发

国庆节不知道学什么?这份 Android 优秀技术文章清单请收下

android 程序员 移动开发

图解:HTTP 范围请求,助力断点续传(1),成功入职腾讯月薪45K

android 程序员 移动开发

坊间传言:程序员可以先在大厂镀金,以后去中小厂毫无压力

android 程序员 移动开发

大厂一步到位:Android-基础+Android高级,android物联网开发从入门到实战

android 程序员 移动开发

大型Bat面试知识总结分享—AMS在Android起到什么作用?简单的分析下Android的源码

android 程序员 移动开发

大学毕业做音视频开发,月入20K,你呢,kotlin协程面试

android 程序员 移动开发

因为不了解Android事件分发机制,居然被实习生嘲笑了,成长路线图

android 程序员 移动开发

Google 的 Firebase 如何删除项目

HoneyMoose

大牛耗时一年:深入探索-Android-包体积优化,共三万字建议收藏上

android 程序员 移动开发

图文DEMO并茂讲解RecyclerView滑动时回收和复用触发的时机

android 程序员 移动开发

事务是如何影响你的系统(二)

卢卡多多

11月日更

基本功---Litho的使用及原理剖析,10年阿里开发架构师经验分享

android 程序员 移动开发

大众点评App的短视频耗电量优化实战,通宵都要看完这个Android关键技术点

android 程序员 移动开发

回眸重探锁机制,高级android工程师

android 程序员 移动开发

在-View-上使用挂起函数,app开发面试题及答案

android 程序员 移动开发

备战秋招-阿里巴巴面试真题:-给你一个Demo-你如何快速定位ANR?

android 程序员 移动开发

大学计算机专业,什么水平可以进大厂?,解密Android开发常见误区

android 程序员 移动开发

在中国程序员是青春饭吗?,android开发基础入门教程

android 程序员 移动开发

在线等!阿里、百度一面就惨遭吊打,kotlin语言书籍

android 程序员 移动开发

Android线程思考

轻口味

android 多线程 11月日更

基于Android的特征X射线谱识别系统的开发,android指纹识别

android 程序员 移动开发

大牛耗时一年:深入探索-Android-包体积优化,共三万字建议收藏上(1)

android 程序员 移动开发

天高任鸟飞,在你还苦闷Android出路时,总有人在系统钻研为高级开发做准备

android 程序员 移动开发

国内互联网公司为什么加班这么狠?,音视频学习指南来咯

android 程序员 移动开发

图解:HTTP 范围请求,助力断点续传,android游戏开发入门

android 程序员 移动开发

备战金九银十:Android面试10+个知识点总结宝典助你通关

android 程序员 移动开发

国内互联网公司为什么加班这么狠?(1),程序员翻身之路

android 程序员 移动开发

“神算子”上线!EasyDL时序预测模型零门槛轻松上手

百度大脑

人工智能 百度

破解数据流通不畅问题,多方安全计算技术到底行不行?_大数据_万佳_InfoQ精选文章