写点什么

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

  • 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:552559
用户头像
万佳 前InfoQ编辑

发布了 681 篇内容, 共 394.8 次阅读, 收获喜欢 1805 次。

关注

评论

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

手把手教你使用Studio Lite + Digtal car!助力智能汽车场景、轻应用开发更轻松!

SOA开发者

在线GIF图片帧修改工具

入门小站

工具

【实战】基于TensorRT 加速YOLO系列以及其他加速算法实战与对比

cv君

AI 引航计划

翻译积累 - Java正则表达式Pattern类

小马哥

翻译 日更

以匠心正道,以决心致远:毫末智行的自动驾驶之路

脑极体

行云创新:云原生技术助力企业数字化转型

行云创新

技术 云原生 转型 数字化 平台

5G三年成厦,泛在千兆为应用造榫卯

脑极体

通俗易懂!306页图解计算机网络,涵盖所有基础知识

Java 架构 面试 程序人生 编程语言

002云原生之架构定义

穿过生命散发芬芳

云原生 9月日更

一文了解「模块化」 区块链的当前形势:执行、安全性及数据可用性

CECBC

互斥锁、自旋锁、读写锁...理清它们的区别和应用

行云创新

云计算 编程 开发 应用

FunTester框架Redis性能测试之map & INCR

FunTester

redis 性能测试 测试框架 测试开发 FunTester

北鲲云超算平台如何将云计算与高性能计算结合

北鲲云

【Flutter 专题】138 图解自定义国旗渐变头像

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

金九银十不要怕!有了腾讯这本2021年最新Java面试手册,offer手到擒来!

Java 程序员 架构 面试 后端

手把手教学基于深度学习的遥感影像倾斜框算法训练与分析

cv君

AI 引航计划

谈 C++17 里的 State 模式之二

hedzr

c++ 算法 设计模式 Design Patterns 有限状态机

智能网联汽车行业信息安全现状与威胁

SOA开发者

打造“大国重器”高性能计算,联想与英特尔如何携手点亮数字经济加速度?

脑极体

【新品尝鲜】OCR磅单识别上线邀测,为货运物流提速增效

百度大脑

人工智能 OCR

重磅来袭,虚拟化技术分类

hanaper

[27]智慧金融--AI目前最被看好的落地领域

Databri_AI

人工智能

自动驾驶混战,剑气二宗谁能笑傲江湖?

白洞计划

强烈推荐!88页《Redis学习文档》完整版,PDF开放下载

Java 架构 面试 程序人生 编程语言

linux线上CPU100%排查

入门小站

Linux

Docker OOM Killer

AiDaddy

Docker JVM trouble shooting

音视频终端引擎优化实践

百度开发者中心

最佳实践 音视频 实践案例 智能视频 行业深度

如何让文件共享 SDK 支持使用 Uri 上传文件

ZEGO即构

文件存储 分区存储 文件共享

CTF压轴题解题思路和过程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

JVM g1 gc 学习笔记二

风翱

GC 9月日更

华为大牛总结的超全Linux学习笔记,看这一篇就够了!

Java 架构 面试 程序人生 编程语言

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