DarKnight: An Accelerated Framework for Privacy and Integrity Preserving Deep Learning Using Trusted Hardware MICRO 2021
DarKnight 依赖于可信执行环境 (TEE) 和加速器之间的协同执行,其中 TEE 提供隐私和完整性验证,而加速器执行大部分线性代数计算以优化性能。
DarKnight 使用基于矩阵掩码的定制数据编码策略在 TEE 中创建输入混淆。然后,混淆数据被卸载到 GPU 以进行快速线性代数计算。DarKnight 的数据混淆策略在云服务器中提供可证明的数据隐私和计算完整性。使用支持 Intel SGX 的 CPU 实现了 DarKnight,以执行矩阵掩码和非线性 DNN 操作,同时使用 Nvidia GPU 加速线性操作。
工作重点是防止一部分机器可能受到损害的情况,而不是完全不受信任的云提供商,即来自云提供商的每台计算机都受到损害和串通。目标是保护数据隐私和计算完整性,同时仍允许使用不受信任的云系统。DarKnight 专注于暴露用于训练或推理的数据集的攻击,以及修改不受信任硬件上的计算结果的攻击。
关键见解:DarKnight 隐私保护方案背后的主要思想是计算量最大的运算符(例如卷积)是双线性的。因此,DarKnight 没有要求 GPU 计算暴露输入的 ⟨W, x(i)⟩,而是使用矩阵掩蔽来线性组合输入并向其添加随机噪声。由于双线性特性,如果执行了 K 个不同的线性计算,则可以恢复对 K 个屏蔽输入的任何线性操作。
前向传递的编码:
前向传递解码:
反向传播编码:
反向传播解码:
DarKnight 为隐私保护提供了强大的加密保证,而不是仅仅依赖可能受到损害的经验量化。实文章大部分篇幅在讨论前向后向的encoding和decoding以及正确性证明,并考虑在GPU受损的情况下的计算完整性。实验结果表明,与完全在 SGX TEE 中实施的基线相比,存在平均 6.5 倍的训练加速和 12.5 倍的推理加速,准确性没有下降。