改进费舍-耶茨洗牌算法,防御嵌入式神经网络侧信道攻击
Make Shuffling Great Again: A Side-Channel Resistant Fisher-Yates Algorithm for Protecting Neural Networks
- 用掩码和布莱克利方法加固除法运算,消除侧信道漏洞
- 在ARM Cortex-M4上实测可抵御相关功耗分析攻击
- 内存开销为最大层的2倍,时间开销仅0.49%~4%
部署在嵌入式设备中的神经网络模型易受侧信道攻击(SCA),导致权重、偏置等敏感参数泄露。现有针对密码学实现的防护方法可适配用于保护神经网络。然而,此前用于隐藏计算顺序的费舍-耶茨洗牌算法在除法操作中存在侧信道漏洞。本文提出一种抗SCA的费舍-耶茨算法设计,通过引入掩码技术处理模运算的除法,并结合布莱克利方法实现模乘,有效消除原版本中的侧信道泄漏。实验在基于ARM Cortex-M4的嵌入式神经网络上实施相关功耗分析攻击,验证了该方案的有效性。与原始方案相比,内存开销为最大层大小的2倍,时间开销在含100至1000个神经元的层中分别为4%和0.49%。
原文摘要 · Abstract (English)
Neural network models implemented in embedded devices have been shown to be susceptible to side-channel attacks (SCAs), allowing recovery of proprietary model parameters, such as weights and biases. There are already available countermeasure methods currently used for protecting cryptographic implementations that can be tailored to protect embedded neural network models. Shuffling, a hiding-based countermeasure that randomly shuffles the order of computations, was shown to be vulnerable to SCA when the Fisher-Yates algorithm is used. In this paper, we propose a design of an SCA-secure version of the Fisher-Yates algorithm. By integrating the masking technique for modular reduction and Blakely's method for modular multiplication, we effectively remove the vulnerability in the division operation that led to side-channel leakage in the original version of the algorithm. We experimentally evaluate that the countermeasure is effective against SCA by implementing a correlation power analysis attack on an embedded neural network model implemented on ARM Cortex-M4. Compared to the original proposal, the memory overhead is $2\times$ the biggest layer of the network, while the time overhead varies from $4\%$ to $0.49\%$ for a layer with $100$ and $1000$ neurons, respectively.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。