50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

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

关注

评论

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

Linux之killall命令

入门小站

Linux

微服务架构实践原则

俞凡

架构 微服务

JAVA新特性的入场券-函数式接口

蜜糖的代码注释

Java 后端 Java高级特性

特征工程:归一化与标准化

强劲九

Python 人工智能 神经网络 机器学习 scikit-learn

Kubernetes初学者指南

俞凡

架构 Kubernetes 云原生 2月月更

树概念总结

en

数据结构

ReactNative进阶(四十三):Mac 通过 .bash_profile 文件配置环境变量

No Silver Bullet

Mac 2月月更 .bash_profile

ReactNative进阶(四十六):移动端实现字体自适应

No Silver Bullet

自适应 React Native 2月月更

从 TDD 到测试策略

Teobler

前端 TDD 单元测试 测试策略 测试金字塔

TTF、OTF、WOFF 和 WOFF2 的相关概念

编程三昧

CSS css3 1月月更

2021年度总结-拥抱变化

wood

300天创作

简单入门计算机网络

宇宙之一粟

计算机网络 2月月更

Java9特性-响应式流(Reactive Stream)

蜜糖的代码注释

Java 响应式 响应式编程 2月月更

(2-1/26) 滑雪的准备

mtfelix

300天创作

我的2021

劼哥stone

年终总结

ReactNative进阶(四十四):Mobile App 适配性优化

No Silver Bullet

React Native 适配 1月月更

浅谈 Java 集合框架

宇宙之一粟

java集合总结 1月月更

行业研究流程及资源总结

轻口味

android AI 1月月更

WebRTC 流媒体常见开源方案综述 | 社区征文

liuzhen007

音视频 新春征文 2月月更

Java NIO为何导致堆外内存OOM了?

JavaEdge

2月月更

Promise 基本方法的简单实现

编程三昧

JavaScript Promise 2月月更

在线格式时间计算时间差

入门小站

工具

聊聊API安全的重要性及治理思路

陈俊

安全 API 应用架构

从IaC到IaD

俞凡

云计算 基础设施即代码

【优化技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(下册)

码界西柚

性能调优 Java 分布式 优化逻辑 技术职场 1月日更

微信朋友圈高性能复杂度分析

唐尤华

架构实战营

Spotify系统架构

俞凡

架构 大厂实践 2月月更 spotify

2021,平(jia)凡(ban)的一年

xiezhr

年终总结 2021 2021年终总结

Mybatis技术专题之MybatisPlus自带强大功能之多租户插件实现原理和实战分析

码界西柚

多租户 MyBatisPlus 2月日更 多租户技术

Kubectl插件开发及开源发布分享| 社区征文

雪雷

golang 云原生 cobra kubectl plugin 新春征文

Windows 和 Linux 上安装 TTF 字体的方法

编程三昧

HTML5, CSS3 1月月更

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