2019大数据产业峰会|蚂蚁金服算法专家李漓春:安全多方计算与数据流通
为了深入落实国家大数据战略,推动大数据产业交流与合作,展示我国大数据产业最新发展成果,2019年6月4日至5日,由中国信息通信研究院、中国通信标准化协会主办,大数据技术标准推进委员会承办的2019大数据产业峰会在北京国际会议中心隆重开幕。6月5日,数据流通技术与法律论坛隆重举行。蚂蚁金服算法专家李漓春以“安全多方计算与数据流通”为主题进行了演讲”。 蚂蚁金服算法专家 李漓春 大家下午好,非常高兴来做这个分享,2012年开始研究安全多方计算这个技术,当年了解到这个技术的时候,我就知道这个技术在大数据的时代特别有用。当年对这个技术了解的非常少,在业界应用也非常少。7年之后,现在我们看到很多公司都在做这方面的研究和探索,在业界已经落地了。现场有很多的观众对这个很感兴趣,所以说特别高兴给大家做分享,介绍我个人的见解,以及我们公司在这方面的经验。 首先介绍一下技术,第二部分是MPC的技术应用。 这个概念刚才闫树已经讲过了,这个就跳过了。这里比较一下安全多方计算和其他的技术,安全多方计算这个技术在数据可用性和隐私保护方面都很好,都优于其他的技术。安全多方计算跟其他数据隐私保护技术比较起来,他们是互补的关系,是可以结合一起来使用的。安全多方计算唯一的弱点是性能,性能这里从低到高,目前的技术安全多方计算的性能已经非常高了,但是仍然需要比较复杂的计算。用安全多方计算计算来做还是比较难的,性能比较差,随着技术的发展会有更多的任务用安全多方计算来运行。 虽然这个技术最近几年才被大家所熟知,才开始有比较多的商业应用,但这个技术的历史是非常久的,并不是最近这几年才发明的。有四大技术,像同态加密、秘密分享,最早是1997年发明的,两年之后秘密分享出现。1982年安全多方计算被提出来,为什么前两个技术的提出会早于安全多方计算,前两个技术最开始提出的时候是应用在其他领域,安全多方计算提出来之后,这两个技术很大的应用场景其实都在安全多方计算领域。 之后的这两个技术的提出就是为了解决安全多方计算的问题。现在绝大多数的应用也是在安全多方计算领域。这些技术发明之后,这么多年来一直在不停的改进性能的增强,功能的一些增加,从1991到2014有了主要技术的突破。 下面讲一下具体的技术,现场有很多人对这个技术了解不多,希望给大家讲明白。首先说秘密分享这个技术,首先对于翻译我个人觉得有点不太好,容易让人误解,我把我的秘密分享给你,那就是我的隐私泄露了,share翻译成秘密分割或者秘密分片比较合适,基本原理是把秘密拆分成多个分片,分给多个人不同的保管,只有合并在一起才能把原始的秘密恢复。这个在密钥管理里面非常有用,这个密钥,特别是主密钥,分成多片,分开存储,黑客如果想把主密钥偷盗,要攻克很多的服务器,世界上DNS的分密钥就是用这个技术分给世界上的安全专家拆成分片,安全专家拿着分片,现在是这样的保管方式。 这样的技术其实可以拿来做安全多方计算,右边的图举了比较简单的例子,有三个数据源。他们各自有三个数据,他们想把三个源数据加起来做一个求和预算,三个数据员不想让别的数据员知道,第一个是从share到切片的转换,数据员保留一个分片,另外两个分片发给另外两个数据员。 做完这个操作之后每个数据员有三个分片,是三个数据源的分片,第二步做一个输入数据的分片,经过某种预算得到最终运算结果的分片,最终运算的结果就是三方的求和。每一方把自己手上持有的三个share进行求和,每方都做这样的运算,这样三个就得到了最终运算的求和结果和分片,把这三个分片加起来就等于这三方源的数据结果,这个过程虽然有点绕,但是思想还比较简单,三方的数据拆成分片,这些分片在三个人当中流转,最终大家把自己手上的分片合在一起,合在一起的结果交出来做求和,这三个分片都在机器里流转,没有新的信息进来,也没有数据出去,所有的数加起来,他们求的结果还是一致的。用这个技术可以做加法,还可以做乘法,还可以做各种组合。 下面介绍一下第二个MPC的同态加密,同态加密是一类加密算法,有同态的性质,能在密文下面进行某种数据的运算,相当于在明文下面对数据进行处理。利用同态加密的方式就可以安全多方计算,这里面AB两方想算数据,A方生成同态加密给到B方,B方拿到A的数据和自己的数据,在密文态下进行运算,最终得到一个结果的密文,这个密文给A方解密,A方有解密的密钥,A方把结果解密出来,就得出来计算的结果,也是上面函数的运算结果。 下面这个技术稍微有点复杂,我讲一下理念,混淆电路这个思想,是用计算机去模拟形成电路的计算来实现的MPC,大家知道任何的预算任务都可以用集成电路来计算,做各种预算的集成电路。集成电路由门组成,再通过线路连接起来形成电路。混淆电路就是把计算任务表示成一个门电路的形式,对门电路的每一条线路做一个加密,把这个技术用在安全多方计算,用在两方的时候,有一方是电路集成方,他把加密的电路交给电路的执行方,另一方拿到加密的电路,以及他自己的原始数据,对电路进行执行,最终可以达到电路的执行结果。这个执行结果还是加密的密文,然后解密出来得到了电路执行结果的密文。 不经意传输这个技术听起来有点悬,另外一个翻译是健忘传输。讲一下概念,不经意传输里面是两方的协议,其中有一方是发送方有N的数据,另外一方是接收方。这个协议执行结果,接收方得到了数据,发送方不知道,他让接收方得到第几个数据,他忘掉了接收方的数据,是用密码学的方式来保证他们的数据流转到接收方。首先这个协议本身能够去支持在数据流通当中的非常常用的一个应用,就是隐私保护的数据查询。我想查一个数据的时候,但是我不想告诉别人我查的是什么数据。比如我们在查医疗数据的时候,医疗数据库这个记录可以和某个疾病相关,去查医疗数据库的时候我不想让这个数据库知道我去查这个数据库里面哪一条记录,因为我查了某个记录相关的数据,也许就意味着这个病人有某种疾病。 基于它我们可以构建任何的安全计算的任务,去实现任何的安全计算,时间关系不展开说了。 我总结一下MPC的技术,首先是四大基础技术,每个技术都很强大,他们的应用很广,但是每个技术都有一些优缺点,有的计算量比较大,有的通信量比较大,擅长运算也不一样,所以在实际应用当中一个非常复杂的计算,通常需要结合两种或者两种以上的基本技术去实现,除了这四大基本技术还列了其它的技术。 也就是说有安全的比较、交际、安全的汇聚,四大基础技术可以实现任何的安全计算,我们可以专门设计一些专用的算法,这些专门的算法比上面的基本技术直接算效率会更高。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |