This work contributes towards the development of an efficient and scalable open-source Secure Multi-Party Computation (SMPC) protocol on machines with moderate computational resources. We use the ABY2.0 SMPC protocol implemented on the C++ based MOTION2NX framework for secure convolutional neural network (CNN) inference application with semi-honest security. Our list of contributions are as follows. Firstly, we enhance MOTION2NX by providing a tensorized version of several primitive functions including the Hadamard product, indicator function and argmax function. Our design of secure indicator function based on a novel approach that uses secure Relu function available in the baseline MOTION2NX implementation. The secure indicator function is used, in turn, as a building block for a novel implementation of secure argmax. Secondly, we also develop a novel splitting of the computations at each CNN layer into multiple configurable chunks thereby resulting in significant reduction in RAM usage. Thirdly, we adapt an existing Helper node algorithm, working in tandem with the ABY2.0 protocol, for efficient convolution computation. This algorithm not only reduces execution time but also reduces the RAM usage required to execute CNN models, but comes at a cost of an additional compute server. Moreover, the ideas presented in this paper can also be applied to secure neural network training.
翻译:本研究致力于在中等计算资源的机器上开发一种高效、可扩展的开源安全多方计算协议。我们采用基于C++的MOTION2NX框架实现的ABY2.0安全多方计算协议,面向半诚实安全模型下的卷积神经网络安全推理应用。我们的贡献主要包括:首先,我们通过提供多个基础函数的张量化版本(包括哈达玛积、指示函数和argmax函数)来增强MOTION2NX框架。其中安全指示函数的设计基于一种创新方法,该方法利用了基准MOTION2NX实现中已有的安全ReLU函数。该安全指示函数进而作为构建模块,用于实现新颖的安全argmax函数。其次,我们提出了一种创新的计算分割方案,将每个CNN层的计算分解为多个可配置块,从而显著降低了内存占用。第三,我们适配了一种现有的辅助节点算法,该算法与ABY2.0协议协同工作,以实现高效的卷积计算。该算法不仅减少了执行时间,还降低了运行CNN模型所需的内存占用,但需要额外增加一台计算服务器作为代价。此外,本文提出的方法也可应用于安全的神经网络训练场景。