简单写写安全多方计算

|0x00 什么是安全多方计算

多方安全计算最近很火,不仅是因为欧盟出了一个数据隐私法规《通用数据保护条例》(General Data Protection Regulation,简称GDPR),也在于存量市场竞争下,大家都有了更多数据合作的场景。例如:两家公司都有一份用户数据,但不想让对方知道自己的用户是谁,但又想知道自己的用户跟对方的用户,有多少是重叠的,这时候我们通过怎样的算法,才能让自己用户信息不泄露的情况下,获得自己想要的结果?

安全多方计算起源于著名的“百万富翁”问题:有两个富翁想比较一些谁更富有,彼此的财产都是0-10之间的整数,问如何在不透露自己财产的情况下,比较谁更富有?

有人提出一个解决方案:找一个天平,两边各放上一个封闭的盒子,让富翁在盒子里放上等重的苹果,有多少财富,就放几个苹果,最后看哪边重就行了,很简单。

真的简单吗?

这个方案有一个很致命的问题,就是天平是谁来提供的?试想这两个富翁,如果两个人没有共同信任的第三人,那么这个问题要怎么解决?天平的提供方会不会同时知道两个人的财富?如果天平不是公平的,那么什么才能保证公平呢?

这里面就涉及到了一个非常关键的问题:“可信第三方”。这个问题虽然简单,但解决起来很复杂。

在1982年,姚期智先生在其发表的文章《安全计算协议》里,提出了“安全多方计算”(英文:Secure Multi-Party Computation)的概念,来解决这个问题。研究的主要内容,是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。

作为密码学的一个子领域,“安全多方计算协议”允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。换句话说,各方的输入数据只有自己知道,通过一种加密的算法,让各方得到自己想要的结果。

随着用户隐私、数据安全的问题被越来越多的重视,“安全多方计算”也就越来越火热了起来,为解决数据孤岛问题,打破数据在行业、企业间流动的壁垒,提供了一种技术上的实现思路。

|0x01 多方安全计算有哪些算法

主流的多方安全计算,目前有四种实现方式:

第一种是“混淆电路”,又称姚氏电路,这是一种密码学协议,历史非常悠久,1986年由姚期智教授提出,核心是将安全计算函数编译成布尔电路的形式。
第二种是“秘密分享”算法,因为电路设计总是非常复杂的,因此通过简单的数学思路将这个问题简化。“秘密分享”算法的基本思路是将每个数字拆散成多个数,并将这些数分发到多个参与方,每个参与方拿到的都是原始数据的一部分,只有大家把各自的数据凑在一起时才能还原真实数据。
第三种是“同态加密”,同态加密是指这样一种加密函数,对明文进行加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。由于这个良好的性质,人们可以委托第三方对数据进行处理而不泄露信息。
第四种是“茫然随机访问机”,英文是“ORAM”,一种可以用来完全隐藏IO操作的数据加密方案,完全消除了内存访问轨迹中的信息泄漏,除了交集外的双方集合的任何元素不会被泄露。
以上算法都可以在网上搜到,这里就不展开讲了。其实还有一些其他的方法,比如差分隐私,有兴趣的可以自行搜索。

但不论是哪种方法,最终目标,都是在保护数据隐私的前提下,尽可能的提升计算性能,并提供更加丰富的数据加工手段。

|0x02 多方安全计算的特点

多方安全计算的特点是什么呢?简单讲,有三种:

去中心化:多方安全计算各个数据的输入方,在不泄露各自数据的情况下,完成相应的计算,各参与方地位平等,不存在任何有特权的参与方;这个原理与区块链的理念比较类似,避免了大型的中心化节点,也就防止了数据被几家巨头所垄断,而数据的拥有者成为了数据交换的主体;
计算高效:过去复杂的密码学策略,并不适用于海量数据,但随着近年来越来越多的人参与进来,提升了相关算法的效率,使得一些算法的复杂度能够达到线性,已经能够适应当今大数据的海量计算需求;
输入隐私:多方安全计算包括了很多种类型的加密协议和算法,基于不同的加密学原理而得到,详情见|0x02,理论上,安全性与我们熟悉的加密算法,没有什么不同。
自2018年后,工业界已经能够在海量数据的场景下,解决数据的隐私保护为题,这是一个非常明确的转折点信号,国家可以通过这项技术,来真正落实个人的数据隐私问题。欧洲的GDPR、中国的密码法、美国加州的CCPA,也都是在这种背景下诞生的。

|0xFF 多方安全计算的应用场景

首先,多方安全计算最重要的应用场景,就是个人隐私了,大量的互联网服务都需要个人的隐私数据,这都需要隐私算法来完成对个人的保护。

其次,不仅是企业内部需要解决数据互通的问题,各个政府、大企业之间,也有数据互通的需求,但也都互相需要进行相应数据的保密。过去因为技术问题,被动导致了很多“数据孤岛”问题,随着今天多方安全计算的发展,已经能够得到解决了。

再次,即便是企业内部,也存在数据泄露的风险,自己人权限设置不当,很容易导致企业自己的核心数据泄露,而多方安全计算能够将原始数据加密,即便你拿到了数据,也无法破解。

当然,多方安全计算的性能,毕竟还是存在局限的,需要消耗更多的机器算力来支持,这对于成本也是一种巨大的挑战。

不管怎样,我们还是要适应GDPR以后的互联网行业,数据隐私问题将会长期受到关注,而懂一些数据安全算法,很有必要。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容