整个卷积层的安全协议完整版如下图11.Cheetah: Lean and Fast Secure Two-Party Deep Neural Network Inference

  • 摘要

  • 技术概览

  • 预备知识

    • 威胁模型

    • 符号约定

    • 基于格的同态加密

    • 不经意传输

  • 线性层的2PC协议

    • 全联接层(FC层)

    • 卷积层(CONV层)

    • 批标准化层(BN层)

  • 非线性函数的2PC优化协议

    • 百万富翁协议

    • 近似截断

  • 优化

    • 计算优化

    • 通信优化

  • 实验

  • 总结

  • 参考文献

摘要

2PC-NN安全推理与实际应用之间仍存在较大性能差距, 因此只适用于小数据集或简单模型. 本文通过仔细设计DNN, 基于格的同态加密、VOLE类型的不经意传输和秘密共享, 提出了一个2PC-NN推理系统Cheetah, 比CCS'20的CrypTFlow2技术开销小的多, 计算效率更快, 通信效率更高. 主要贡献有两点:

  • 基于格的同态加密的协议可在不进行任何昂贵同态rotation操作的情况下评估线性层;

  • 提出了非线性函数的几个精简且通信高效的原语.

本文的方案在ResNet50神经网络下在WAN进行端到端安全推理需要不到2.5分钟和2.3G通信量, 分别优于CrypTFlow2约5.6倍和12.9倍.

具体代码已在Github开源:

https://github.com/Alibaba-Gemini-Lab/OpenCheetah.

技术概览

Cheetah与最先进的2PC协议复杂度比较如表1.

预备知识

威胁模型

Cheetah是半诚实两方计算设定下构造的. 两方分别为Alice(作为Server)和Bob(作为Client). 在安全推理中, Alice持有DNN, Bob持有神经网络的输入, 如图像. 协议允许Bob获得神经网络架构信息和推理输出, 而Alice根据应用场景的不同要么没有输出, 要么得到安全推理结果.

不经意传输

Cheetah的协议非线性计算依赖于Boyle等人于CCS'19提出的VOLE类型OT协议——Silent OT extension[^2], 它通过低通信量、与输入无关的设定以及纯本地计算两个阶段生成大量Random OT correlation, 而Ferret[^3]和Silver[^4]是Silent OT extension的两个更高效的变种.

整个卷积层的安全协议完整版如下图11.

 

非线性函数的2PC优化协议

百万富翁协议

CryptFlow2:实用两方安全推理


x

近似截断

在定点数计算中, 截断是乘法计算后的必要步骤.

一比特近似截断

已知符号位的近似截断

通信复杂度分析: 比起CrypTFlow2, Cheetah通信开销更小, 如下表所示.

实验

本文的协议可以使用任意VOLE类型的OT扩展协议实现, 本文代码使用的是Ferret的方案[3]. 涉及的开源库有: SEAL, HEXL acceleration, EMP-toolkit. 具体代码已在Github开源: https://github.com/Alibaba-Gemini-Lab/OpenCheetah.

实验环境: 阿里云ecs.c7.2xlarge, 2.70GHz处理器, 16GB RAM.

线性协议对比: 计算快约1.3~20倍, 通信开销低1.5~2倍.

非线性函数对比: 单线程下, 本文的所有非线性协议通信开销低10倍以上.

总结

Cheetah提供了一个高度优化的2PC-NN推理架构, WAN设定下, 在不到2.5分钟的时间内对ResNet50模型进行安全推理, 消耗2.3GB的通信量, 非常高效, 适合大规模神经网络训练推理, 是目前最好的2PC-NN工作之一.

总体而言, 本文的亮点有以下几点:

参考文献

[1]Deevashwer Rathee, Mayank Rathee, Nishant Kumar, Nishanth Chandran, Divya Gupta, Aseem Rastogi, and Rahul Sharma. CrypTFlow2: Practical 2-party secure inference. In CCS, pages 325–342. ACM, 2020.

[2]Elette Boyle,Geoffroy Couteau,Niv Gilboa,Yuval Ishai, Lisa Kohl, Peter Rindal, and Peter Scholl. Efficient two-round OT extension and silent non-interactive secure computation. In CCS, pages 291–308, 2019.

[3]Kang Yang, Chenkai Weng, Xiao Lan, Jiang Zhang, and Xiao Wang. Ferret: Fast extension for correlated OT with small communication. In CCS, pages 1607–1626, 2020.

[4]Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. Silver: Silent VOLE and oblivious transfer from hardness of decoding structured LDPC codes. In CRYPTO, pages 502–534, 2021.

[5]Pratyush Mishra, Ryan Lehmkuhl, Akshayaram Srini- vasan, Wenting Zheng, and Raluca Ada Popa. DELPHI: A cryptographic inference service for neural networks. In USENIX, pages 2505–2522, 2020.

[6]Anders P. K. Dalskov, Daniel Escudero, and Marcel Keller. Secure evaluation of quantized neural networks. Proc. Priv. Enhancing Technol., 2020(4):355–375, 2020.

译者简介

魏伟明, 应用数学硕士, 目前在广州大学数学与信息科学学院攻读博士学位, 主要研究方向为: 安全多方计算在隐私保护机器学习领域中的应用. 知乎: @云中雨雾.

Cheetah: 精简快速的安全两方DNN推理相关推荐

  1. 更新|Cheetah: 精简快速的安全两方DNN推理

    Cheetah: Lean and Fast Secure Two-Party Deep Neural Network Inference 摘要 技术概览 预备知识 威胁模型 符号约定 基于格的同态加 ...

  2. 表格字体缩小 php_如何快速找出两个Excel表格不同的地方?

    上一篇文章介绍了如何快速找出两个word文档不同的地方,这篇文章来说说如何快速找出两个Excel表格不同的地方,这里说的两个Excel表格,可以是同一个工作簿的不同sheet,也可以是两个不同的Exc ...

  3. win8.1系统快速关机的两种方法

    win8.1系统快速关机的两种方法 前几天刚刚重装了一遍系统,觉得以前的win8.1的系统用起来还挺顺手的,这次也就装8.1的吧,装完后一切都好,但是晚上关机的时候发现一点跟我上次系统不一样的地方,就 ...

  4. 校园招聘之Offer、三方协议、两方协议、劳动合同都是什么?怎样避免被坑?...

    校园招聘临近结束的时候,相信不少同学都已经找到了合适的岗位,这时候就可能会面临多个offer的抉择! 接下来是签约的环节,签约这个词听起来就很兴奋.不过大家也不要被高兴冲昏了头脑,因为签约涉及到很多方 ...

  5. 校园招聘Offer、三方协议、两方协议、劳动合同到底都是什么?怎样避免被坑?

    文章目录 1.签约类型 offer 三方协议 两方协议 劳动合同 2.违约类型 个人违约 企业违约 3.签约注意事项 最后 校园招聘临近结束的时候,相信不少同学都已经找到了合适的岗位,这时候就可能会面 ...

  6. offer?三方协议?两方协议?毁约?

    欢迎关注公众号"落叶归根的猪",笔经面经题目+答案,五险一金,三方两方/合同解释等知识科普.公众号 "落叶归根的猪" 干货自取. offer offer一般就是 ...

  7. js 快速找出两个数组中的不同元素或对象

    js 快速找出两个数组中的不同元素 var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1 ...

  8. 解决pda设备快速连扫两次条码造成条码显示重叠报错的问题

    最近在使用pda扫码设备扫码时,发现在快速连按两下扫码键,第二次的输入的值会变成两个值,从而造成报错,非常影响体验和速度,因此需要解决: let rowCode=e.target.value;let ...

  9. 快速找出两个字符串中所有相同的字符

    面试时看到一个试题, 编写算法, 快速找出两个字符串中所有相同的字符. 现实现如下: 1. 利用TreeSet来查找是否有相同的字符(之前是利用TreeSet来查找) 2. 利用HashSet来查找是 ...

最新文章

  1. javaweb项目中的过滤器的使用
  2. NYOJ 267 郁闷的C小加(二)
  3. 提升领导力 六商是基础
  4. 用vue开发顶端粘滞效果的页面
  5. 框架笔记:记录XLua的简单接入
  6. SQL---------表的约束
  7. 甲骨文员工谈被裁原因;《绝地求生》停机维护;谷歌正研发折叠屏样机 | 极客头条...
  8. Android优秀参考APP源码
  9. 【Linux】NUC977移植使用libmodbus
  10. 解决Ubuntu中Edge浏览器smartUp手势插件导致鼠标右键不灵敏的问题
  11. 小白到学会python要多久_零基础小白多久能学会python
  12. 不同进制数之间的转换
  13. Bert中文文本多分类与传统BOW+tfidf+LR中文文本多分类对比
  14. 主线程退出对子线程的影响
  15. GIT创建仓库及导入源码小记
  16. 广西南宁机器人比赛_爱宝贝 | 南宁小学生夺得机器人大赛冠军
  17. WIFI、蓝牙、射频、Zigbee 浅谈智能家居的几种控制协议
  18. html入门基础笔记(简单实用)
  19. linux 僵尸进程deffunc,subprocess.Popen引起的僵尸进程[sh] defunct
  20. 达闼科技赵开勇:基于自学习的机器人决策系统

热门文章

  1. Spring入门——控制反转是什么鬼
  2. postgis+geoserver+openlayers最短路径分析-学习记录bug
  3. 公司搬家的教训,提几个注意事项
  4. 资本持续“押注”激光雷达,技术方案组合“百花齐放”抢市场
  5. NDK(一):NDK 的集成
  6. 上海临港新片区对于金融业创新发展的扶持政策
  7. 远程服务器 一闪就没有了,远程桌面连接一闪而过的解决方法
  8. anaconda conda 换源
  9. 正则表达式 (.*?)
  10. asp基础入门(上)