隐私计算的技术调研报告

数据隐私的保护手段,主要分为可信硬件和密码学两个流派。硬件方面主要是可信执行环境(Trusted Execution Environment),而密码学方面有同态加密(Homomorphic Encryption),安全多方计算(Multi-party Computation)和零知识证明(Zero-knowledge Proof, ZKP)。在此之前,我们需要对电路门有个基本的概念:

image.png

接下来主要从性能和可用性方面来分析这三大技术方向,首先从FHE开始。
A.FHE,全同态可以说是云计算巨头决战的关键所在,IBM基于BGV方案推出了全同态的HElib,在业内获得了比较高的评价。

1)有几篇论文对HElib的性能进行了测试,我们看下实验结果:
1.1)A survey on fully homomorphic encryption an engineering respective
Environment:Intel Core i5-3320M
参数说明:l--输入的bit位大小; d--电路深度; w--输入线


image.png

在bootstrapping模式也就是FHE的模式下,AES加解密的时间15min+是无法忍受的。

1.2)Faster Homomorphic Linear Transformations in HElib*
Environment:ntel Xeon CPU,E5-2698 v3 @ 2.30GHz(Haswell处理器,32核,250G)
参数说明:d代表slot的大小(是p mod m的顺序),D是维度大小,标有“⋆”的D值表示“坏”维度
之后IBM团队发布了一个最新论文,大幅提高了计算速度,最高达75倍,标准运算是AES计算。


image.png

进一步的,在多核模式下测试,得到的结果是:


image.png

可见在实数乘法在16核模式下进入了10秒级以内,但是对于常规运算仍然是不可想象的。

2)微软的SEAL号称是性能最高的同态加密库,同样有一篇论文对其进行了详细实验。
Private Predictive Analysis on Encrypted Medical Data
Environment:Intel Core i7- 3520M at 2893.484 MHz
参数说明:密文是n维向量,其系数模为q,消息是另一个模数p,P1/P2分别是相应bit位长度的值。


image.png

SEAL对加密数据实施了Logistic回归模型,128bits的密文高达4,096bit,大概1Mb的数据产生超过10Gb的加密数据。


image.png

对它进行加解密、加法和乘法,加法运算仅需1ms,但是乘法需要5秒以上,无法实际的场景中使用。

A Conclusion:在业内,FHE是众多云计算厂商夺取的制高点,根据目前的学术研究和项目进展来看,FHE完全商业化尚要3年左右。

B SMC,安全多方计算经过了多年的发展,在半诚实对手模型取得了一定的效果,但在恶意攻击者模型或者多方模型中还需进步。
同样的,为了让大家有个大致的概念,描述我们将要做的实验的参数:AES运算包含6800 gates,input和output是128bit,s'=125,depth=50(这个数据来自Yehuda Lindell and Ben Riva. 2015. Blazing Fast 2PC in the Offline/Online Setting with Security for Malicious Adversaries. In ACM CCS 2015. 579–590.)

1)Fast Cut-and-Choose Based Protocols for Malicious and Covert Adversaries∗
在这篇paper中,它做了个对比实验,我们可以看到执行AES时产生了巨大的数据通信量,如Bandwidth,即使优化之后仍然高达177M。


image.png

2)TinyLEGO: An Interactive Garbling Scheme for Maliciously Secure Two-Party Computation
参数说明:k--计算安全参数,s—统计安全参数。在这篇paper中大幅降低了通讯数据量。


image.png

3)Authenticated Garbling and Efficient Maliciously Secure Two-Party Computation
在这张paper显示了基于TinyLEGO在两方计算中的性能,当然首先是看这些操作有多少个gates。


image.png

它分别测试两个节点在AWS的本地服务器和远程服务器的情况,实验结果如下:


image.png

公链部署在异构网络中,所以参考WAN的模式更符合实际。接着对比其他的方案,测试AES操作,结果如下:


image.png

最后分别测试一些复杂的操作,比如整数乘法、排序等,可以看到时延非常高。


image.png

4)Constant Round Maliciously Secure 2PC with Function-independent Preprocessing using LEGO
这篇paper中离线预处理部分符合条件的电路,从而大幅减少了中间产生的数据。


image.png

B Conclusion:尽管这几年的进步比较大,但是从计算速度这个角度看,高于明文计算2-3个数量级,对网络的消耗大,需要编写复杂的业务逻辑生成电路,也对内存也造成了巨大的压力。

C Intel SGX,大家对它的性能比较感兴趣,我们就从IBM research的一篇博客说起。
1)https://medium.com/@danny_harnik/impressions-of-intel-sgx-performance-22442093595a
Environment:Lenovo laptop with 8-core Intel® Core(TM) i7–6820HQ CPU with 2.70GHz, using 16GB 2133MHz DDR4 RAM and running on an Ubuntu 16.04 OS.
在单线程模式下
1.1)testing a simple function:从一个字节数组中找到最大的4字节整数
a)在非安全区运行的普通函数;b)数组已经在安全区直接执行计算;c)在明文内存中存取,用安全模式计算;d)将数组拷贝去安全区执行计算。

image.png

result:在低数据量的情况下,CPU上下文切换和进入退出安全区对性能的限制很大;而在256kb的时候,前述方面的差距就比较小;在8M的时候在安全区的性能下降很大,这可能跟额外的L3缓存(8M)在读取一个安全区本地数组的时候消失有关;当达到EPC的容量限制(64M)时,性能显著下降;当在一个安全区调用拷贝函数时,一旦拷贝数据内容大于64kb会导致性能下降。
1.2)测试sha256
image.png

1.3)测试AES的加密函数
image.png

result:sgxsdk在trusted模式下达到了untrusted的一半是因为没有使用intel’s AES-NI 硬件优化;sgxssl的低效则被intel修复;trused模式下的opaque则达到了高性能。
1.4)在安全区内对比AES128
image.png

2)Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware
在这篇paper中实现了基于SGX的模型,能将计算外包到GPU中,具体的方法是优化内存和将计算的中间层外包。这个实验中不包含多线程处理,我们先看一下结果:


image.png

result:SGX上面的微型基准。我们绘制了验证线性结果的相对加速比与在飞地中进行计算相比。虚线表示直接计算所获得的吞吐量。“融合”可分离卷积不包含中间激活。
由此可见对于给定场景,安全可信处理器的效率比最佳可用不可信硬件低最多一个数量级,接着使用外包计算的中间层至GPU,性能获得了大幅提升。


image.png
   C Conclusion:从性能上看,SGX能满足大部分业务需求,对于机器学习等复杂运算,需要改造模型以符合其特性。至于侧信道攻击,Intel进行了积极修复,同时我们需要通过在程序设计上隐藏控制流和数据流来规避相当程度的攻击。

Final Conclusion:相信看到这里大家心里都有了答案,从实践复杂度、性能、网络和技术成熟度来看,在3年之内,TEE将是最具竞争力的方案。

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

推荐阅读更多精彩内容

  • Guide to BluetoothSecurity原文 本出版物可免费从以下网址获得:https://doi.o...
    公子小水阅读 7,824评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,067评论 1 32
  • 在这漫长而无望的时光里,我还在等待着一个人,他有着望向我时灿烂而温柔的眉眼,说话时微微上扬的声音,他愿意与我一起看...
    小小十二月阅读 417评论 0 0
  • 今天是第二天上班,闹钟是6点20,可腻歪到7点5分才起床,哈哈哈哈……我这节后懒惰症也没谁了! 可能是因为我不善于...
    沙漏的眼泪阅读 138评论 0 0
  • 姓名:潘亚平 公司:福建起步儿童用品有限公司 日精进打卡第131天 【知~学习】 《六项精进》0遍共97遍 《大学...
    徒手敬岁月_114e阅读 47评论 0 0