赞
踩
2012年开始研究安全多方计算这个技术,当年了解到这个技术的时候,我就知道这个技术在大数据的时代特别有用。当年对这个技术了解的非常少,在业界应用也非常少。7年之后,现在我们看到很多公司都在做这方面的研究和探索,在业界已经落地了。现场有很多的观众对这个很感兴趣,所以说特别高兴给大家做分享,介绍我个人的见解,以及我们公司在这方面的经验。
首先介绍一下技术,第二部分是MPC的技术应用。
这个概念刚才闫树已经讲过了,这个就跳过了。这里比较一下安全多方计算和其他的技术,安全多方计算这个技术在数据可用性和隐私保护方面都很好,都优于其他的技术。安全多方计算跟其他数据隐私保护技术比较起来,他们是互补的关系,是可以结合一起来使用的。安全多方计算唯一的弱点是性能,性能这里从低到高,目前的技术安全多方计算的性能已经非常高了,但是仍然需要比较复杂的计算。用安全多方计算计算来做还是比较难的,性能比较差,随着技术的发展会有更多的任务用安全多方计算来运行。
虽然这个技术最近几年才被大家所熟知,才开始有比较多的商业应用,但这个技术的历史是非常久的,并不是最近这几年才发明的。有四大技术,像同态加密、秘密分享,最早是1997年发明的,两年之后秘密分享出现。1982年安全多方计算被提出来,为什么前两个技术的提出会早于安全多方计算,前两个技术最开始提出的时候是应用在其他领域,安全多方计算提出来之后,这两个技术很大的应用场景其实都在安全多方计算领域。
之后的这两个技术的提出就是为了解决安全多方计算的问题。现在绝大多数的应用也是在安全多方计算领域。这些技术发明之后,这么多年来一直在不停的改进性能的增强,功能的一些增加,从1991到2014有了主要技术的突破。
下面讲一下具体的技术,现场有很多人对这个技术了解不多,希望给大家讲明白。首先说秘密分享这个技术,首先对于翻译我个人觉得有点不太好,容易让人误解,我把我的秘密分享给你,那就是我的隐私泄露了,share翻译成秘密分割或者秘密分片比较合适,基本原理是把秘密拆分成多个分片,分给多个人不同的保管,只有合并在一起才能把原始的秘密恢复。这个在密钥管理里面非常有用,这个密钥,特别是主密钥,分成多片,分开存储,黑客如果想把主密钥偷盗,要攻克很多的服务器,世界上DNS的分密钥就是用这个技术分给世界上的安全专家拆成分片,安全专家拿着分片,现在是这样的保管方式。
这样的技术其实可以拿来做安全多方计算,右边的图举了比较简单的例子,有三个数据源。他们各自有三个数据,他们想把三个源数据加起来做一个求和预算,三个数据员不想让别的数据员知道,第一个是从share到切片的转换,数据员保留一个分片,另外两个分片发给另外两个数据员。
做完这个操作之后每个数据员有三个分片,是三个数据源的分片,第二步做一个输入数据的分片,经过某种预算得到最终运算结果的分片,最终运算的结果就是三方的求和。每一方把自己手上持有的三个share进行求和,每方都做这样的运算,这样三个就得到了最终运算的求和结果和分片,把这三个分片加起来就等于这三方源的数据结果,这个过程虽然有点绕,但是思想还比较简单,三方的数据拆成分片,这些分片在三个人当中流转,最终大家把自己手上的分片合在一起,合在一起的结果交出来做求和,这三个分片都在机器里流转,没有新的信息进来,也没有数据出去,所有的数加起来,他们求的结果还是一致的。用这个技术可以做加法,还可以做乘法,还可以做各种组合。
下面介绍一下第二个MPC的同态加密,同态加密是一类加密算法,有同态的性质,能在密文下面进行某种数据的运算,相当于在明文下面对数据进行处理。利用同态加密的方式就可以安全多方计算,这里面AB两方想算数据,A方生成同态加密给到B方,B方拿到A的数据和自己的数据,在密文态下进行运算,最终得到一个结果的密文,这个密文给A方解密,A方有解密的密钥,A方把结果解密出来,就得出来计算的结果,也是上面函数的运算结果。
下面这个技术稍微有点复杂,我讲一下理念,混淆电路这个思想,是用计算机去模拟形成电路的计算来实现的MPC,大家知道任何的预算任务都可以用集成电路来计算,做各种预算的集成电路。集成电路由门组成,再通过线路连接起来形成电路。混淆电路就是把计算任务表示成一个门电路的形式,对门电路的每一条线路做一个加密,把这个技术用在安全多方计算,用在两方的时候,有一方是电路集成方,他把加密的电路交给电路的执行方,另一方拿到加密的电路,以及他自己的原始数据,对电路进行执行,最终可以达到电路的执行结果。这个执行结果还是加密的密文,然后解密出来得到了电路执行结果的密文。
不经意传输这个技术听起来有点悬,另外一个翻译是健忘传输。讲一下概念,不经意传输里面是两方的协议,其中有一方是发送方有N的数据,另外一方是接收方。这个协议执行结果,接收方得到了数据,发送方不知道,他让接收方得到第几个数据,他忘掉了接收方的数据,是用密码学的方式来保证他们的数据流转到接收方。首先这个协议本身能够去支持在数据流通当中的非常常用的一个应用,就是隐私保护的数据查询。我想查一个数据的时候,但是我不想告诉别人我查的是什么数据。比如我们在查医疗数据的时候,医疗数据库这个记录可以和某个疾病相关,去查医疗数据库的时候我不想让这个数据库知道我去查这个数据库里面哪一条记录,因为我查了某个记录相关的数据,也许就意味着这个病人有某种疾病。
基于它我们可以构建任何的安全计算的任务,去实现任何的安全计算,时间关系不展开说了。
我总结一下MPC的技术,首先是四大基础技术,每个技术都很强大,他们的应用很广,但是每个技术都有一些优缺点,有的计算量比较大,有的通信量比较大,擅长运算也不一样,所以在实际应用当中一个非常复杂的计算,通常需要结合两种或者两种以上的基本技术去实现,除了这四大基本技术还列了其它的技术。
也就是说有安全的比较、交际、安全的汇聚,四大基础技术可以实现任何的安全计算,我们可以专门设计一些专用的算法,这些专门的算法比上面的基本技术直接算效率会更高。
其他的基础技术还有零知识证明,这个为了保证MPC安全性的技术,最后一个基本技术,当然还有其他,我没有列出来。我列的表中的最后一个技术,我想提一下,之前提的基础技术他们的思路是把运算表示成为一个电路,其他的技术要求把计算任务要求用一个数学公式表现出来,把这个运算任务表达出来,我们用安全计算一步一步的把这个任务算出来。ORAM的技术比较有特点,它模拟的是计算人的模拟流程,把计算任务表示成为CPU和内存的一系列操作。什么样的操作呢,CPU从内存里面把相关的数据读出来,CPU再执行第二条的指令操作,这个技术就把一个计算任务表示成为CPU和内存的交互操作,并且使用密码学的技术,把里面操作的数据隐私保护起来了。
讲一下应用的部分,2002年接触到MPC的技术,但是当时业界的应用非常少,不过还是有一些先驱公司在做这个工作。比如说2008年一家MPC公司创立了,把MPC的技术用在统计分析领域,2013年另外一家公司创立了,把MPC用在密钥管理,最近2017年谷歌把MPC用在机器学习方面,现在国内的应用也非常火,国内外现在去了解应用这一技术的公司更多了。
右边这个图从另外一个角度揭示了一下MPC技术的应用,把这十年MPC的论文数量、专利的数量列了出来。黄线是专利的数量,十年前相关的专利有十几个,去年相关专利的申请数量是80多,已经翻了七八倍,这个角度看来这一技术在业界开始慢慢成熟,慢慢应用。
下面再分享一下蚂蚁金服在这方面的应用和经验,蚂蚁金服有一个安全多方计算的产品,叫做摩斯。我们的理念是希望能够把各个组织,比如运营商、政府、金融机构,包括个人用户等等,通过安全计算的平台把大家连接起来,来实现数据价值的流通,但是原始数据又不库,数据又不泄露。
我们这个产品总结下来有四个特点,第一是安全透明可信,结合区块链的技术来做存证,结合这么多年业界的成果,我们自己也有创新,有40多项专利,而且我们这个产品获得了国内外多项权威的认证。第二个特点是合规和隐私保护,除了使用安全多方计算的技术,我们还使用其他的数据。第三个特点是去中心,MPC就是分布式的架构,我们沿着这个架构,也在线做了一些增强,比如在一些容灾、分布式等方面使这个系统更加的稳健。第四点是轻量便捷,支持多种数据库。
产品有四大功能,第一是安全发布,最主要是使用一些脱敏、安全关联的技术,还有安全统计,安全多方的建模和模型的预算,以及安全多方的数据查询,后面这三项主要是用的安全多方计算的技术。
到后面分享两个比较具体的场景,第一个是在互联网金融比较常见的多投借贷的场景。现在国内有很多互联网金融机构,他们的征信数据,用户在这些互联网平台。互联网金融平台的监管数据是不上报到国家征信系统的,这里面有一个问题,就会有一些恶意的欺诈针对贷款申请人,他们同时从多家互联网的金融机构去借钱,借了不还,怎么样把这样的用户识别出来呢。我们可能需要,当有一个借款人来申请借款的时候,必须从多个互联网金融机构查这个用户总共在这些金融机构借了多少钱,借了多少笔,但是每一家金融机构都不愿意把这些数据交出来,这个时候我们就可以利用安全多方计算技术来实现多方数据的联合统计,来查询这个用户总的历史贷款金额。
第二个场景是医疗数据的联合机器学习,大家知道各个医院的数据是连通的,这里面有个人隐私数据保护的问题,每个医院都有很多病人的病例和医疗数据。这些医疗数据对于医学研究来说是非常有用的,为什么我们需要一个联合的机器学习,为什么一个医院不用自己的数据做机器学习,来做统计分析,来做医学研究呢?就是因为很多疾病每家医院病人的样本数量是很少的,一个疾病可能一个医院只有几个人,这么少的样本量是没有办法建模的,就算建了机器学习的模型,这个模型的质量也很差。这就需要多家医疗机构联合起来,但是他们的数据是高度敏感的数据,不允许出医院的,这个时候就可以用安全多方计算的技术实现多方的联合机器学习,来帮助医疗研究。
到最后说一点我个人的见解,MPC技术我接触了七年,看着MPC技术在七年里一步一步的性能提升,我对未来是很乐观的。我相信这个技术的性能可以进一步提升,它支持的复杂运算任务也会越来越多。大数据技术深入各行各业,我相信MPC和其他数据隐私保护的数据也会深入到各行各业。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。