Skip to main content
QUICK REVIEW

[论文解读] Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware

Florian Tramèr, Dan Boneh|arXiv (Cornell University)|Jun 8, 2018
Adversarial Robustness in Machine Learning参考文献 46被引用 226
一句话总结

Slalom 将 DNN 推理分割在可信执行环境和同地的不可信处理器之间,实现快速、可验证且私密的神经网络执行,相对于完全在 TEE 中运行具有显著吞吐量提升。

ABSTRACT

As Machine Learning (ML) gets applied to security-critical or sensitive domains, there is a growing need for integrity and privacy for outsourced ML computations. A pragmatic solution comes from Trusted Execution Environments (TEEs), which use hardware and software protections to isolate sensitive computations from the untrusted software stack. However, these isolation guarantees come at a price in performance, compared to untrusted alternatives. This paper initiates the study of high performance execution of Deep Neural Networks (DNNs) in TEEs by efficiently partitioning DNN computations between trusted and untrusted devices. Building upon an efficient outsourcing scheme for matrix multiplication, we propose Slalom, a framework that securely delegates execution of all linear layers in a DNN from a TEE (e.g., Intel SGX or Sanctum) to a faster, yet untrusted, co-located processor. We evaluate Slalom by running DNNs in an Intel SGX enclave, which selectively delegates work to an untrusted GPU. For canonical DNNs (VGG16, MobileNet and ResNet variants) we obtain 6x to 20x increases in throughput for verifiable inference, and 4x to 11x for verifiable and private inference.

研究动机与目标

  • 为敏感或安全关切的应用场景,在可信执行环境中激励安全、高性能的外包机器学习。
  • 提出一个实用的外包框架,在利用更快的不可信硬件的同时,保留完整性与隐私。
  • 通过外包线性层并使用 Freivalds’ 算法进行验证,实现可验证(且私密)的推理。
  • 定量评估在典型 CNN 上的吞吐量提升,并讨论可验证训练的开放性问题。
  • 突出在实际 TEEs 中部署 Slalom 的设计考虑因素和局限性。

提出的方法

  • 对输入和权重进行量化并嵌入到有限域中,以实现安全计算。
  • 将线性层外包给更快的不可信处理器,并使用 Freivalds’ 概率算法验证正确性。
  • 通过预计算的伪随机流对输入进行加密以保护隐私,并使用离线预计算值恢复输出。
  • 通过选择性地将线性运算外包来维护完整性,而非线性在 TEE 内部计算。
  • 提供两种 Slalom 变体:一种专注于完整性,另一种兼顾隐私与完整性。

实验结果

研究问题

  • RQ1在保持完整性的前提下,是否可以通过将线性层从 TEE 外包给同地的不可信处理器来加速 DNN 推理?
  • RQ2Slalom 是否能够在不造成不可接受的通信或计算开销的情况下为外包计算提供隐私?
  • RQ3与在整个 TEE 中运行相比,可验证(且私密的)推理在典型网络上能达到多少吞吐量提升?
  • RQ4在像 Intel SGX 或 Sanctum 这样的 TEE 上部署 Slalom 时的实际考虑因素和局限性是什么?
  • RQ5在性能与安全保证方面,Slalom 与现有的密码学或基线外包方法相比如何?

主要发现

  • 将线性层外包给更快的不可信 GPU,同时在 TEE 中保留非线性部分,可实现可验证推理的吞吐量提升 6× 到 20×。
  • 对于可验证且私密的推理,Slalom 在基线之上实现了 4× 到 11× 的吞吐量提升。
  • 与在 TEE 中完整运行 DNN 相比,Slalom 在 VGG16、MobileNet 和 ResNet 变体上显著提高吞吐量和能效。
  • Freivalds’ 算法为外包矩阵乘法提供了具体、低开销的完整性检查。
  • 采用离线预处理的两阶段方法可以将 Slalom 扩展到私密、可验证的推理,而无需过多的在线交互。
  • 该框架适用于常见的 CNN 架构,并且可以扩展到残差网络。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。