论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost


该论文在 2022年被 USENIX会议接收。

一、安全神经网络推理

在安全推理中,服务器 P 0 P_0 P0拥有机器学习模型 M M M M M M的权重 w w w是隐私和敏感的,用户 P 1 P_1 P1拥有隐私输入 x x x。安全推理的目的是 P 1 P_1 P1学习到模型 M M M在输入 x x x上的输出,即 M ( w , x ) M(w,x) M(w,x),而不知道其他东西; P 0 P_0 P0学习不了关于用户隐私输入 x x x的任何信息。安全推理有许多应用,比如隐私健康诊断、安全的机器学习作为服务(MLaaS)等。当安全推理中涉及的模型为神经网络模型时,安全推理又被称为安全神经网络推理。现阶段主要保证的神经网络模型架构如下图所示:
神经网络模型
加性秘密分享是保证神经网络推理安全的一种有效密码学原语,被广泛应用于半诚实的模型中(大家可点击DelphiMUSE获取更多信息)。该方法要求神经网络的每一层输出被切割为两份,服务器 P 0 P_0 P0一份,用户 P 1 P_1 P1一份。然而,在2021年,USENIX上的一篇论文指出这种方式存在安全问题。恶意的用户可以通过锻造(修改)自己那一份分享share来获取服务器的模型权重。这种模型提取攻击在我之前博客中有详细描述,可点击这里获取。

二、论文主要思想

为了抵抗模型提取攻击,MUSE对用户的分享进行了认证秘密分享,使得用户不可能通过输入不一致的分享来获取模型权重。更具体地,针对非线性层,MUSE在混淆电路中加入了分享认证,只有用户输入一致的分享才能获得与自己非线性层输入相应的标签。假设非线性层的输入为 s s s,那么非线性层的输出为 u = α s u=\alpha s u=αs的分享和 f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s)的分享,其中 α \alpha α为服务器选的密钥, f f f为非线性层的激活函数(如relu)。在混淆电路中,执行一次域乘法(如 α f ( s ) \alpha f(s) αf(s))需要 O ( k 2 λ ) O(k^2\lambda) O(k2λ)通信开销。为了降低通信开销,SIMC首先通过输入 s s s的分享shares计算 s s s f ( s ) f(s) f(s),然后将输出标签(0和1对应的标签)作为一次填充密钥加密 α s \alpha s αs f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s),并将分别的2个密文发送给用户。因为用户能通过混淆电路(和不经意传输)得到 s s s f ( s ) f(s) f(s),所以进一步地能从收到的分别的2个密文中解密出正确的 α s \alpha s αs f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s)。值得注意的是,实际加密的是 α s [ i ] \alpha s[i] αs[i] f ( s ) [ i ] f(s)[i] f(s)[i] α f ( s ) [ i ] \alpha f(s)[i] αf(s)[i],即要么是对 α \alpha α加密,要么是对 0 0 0加密。用户可以通过二进制展开的方式将收到的比特重新转换为数。

三、方案SIMC

3.1 构建块

下面是方案的基础知识。注意 a = ∑ i ∈ [ k ] a [ i ] ⋅ 2 i − 1 a=\sum_{i\in [k]}a[i]\cdot 2^{i-1} a=i[k]a[i]2i1,这就是上面所述的用户可以通过一次一次收取的关于 α s \alpha s αs f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s) 的比特分享重新恢复 s s s f ( s ) f(s) f(s)分享的核心技术。其他的技术还包括加法同态加密、不经意传输(茫然传输)、混淆电路(Garbled 电路)、point-and-permute优化等。

构建块
构建块

3.2 非线性函数

非线性层的输入为 P 0 P_0 P0输入的 < s > 0 <s>_0 <s>0 P 1 P_1 P1输入的 < s > 1 <s>_1 <s>1,输出为 P 0 P_0 P0 < α s > 0 <\alpha s>_0 <αs>0 < f ( s ) > 0 <f(s)>_0 <f(s)>0 < α f ( s ) > 0 <\alpha f(s)>_0 <αf(s)>0 P 1 P_1 P1 < α s > 1 <\alpha s>_1 <αs>1 < f ( s ) > 1 <f(s)>_1 <f(s)>1 < α f ( s ) > 1 <\alpha f(s)>_1 <αf(s)>1

通过混淆电路阶段,用户 P 1 P_1 P1可以得到正确的输出标签,即关于 s s s f ( s ) f(s) f(s)的标签。通过认证阶段, P 1 P_1 P1可以得到正确的 α s \alpha s αs f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s)的比特分享,如 α s [ i ] \alpha s[i] αs[i]的分享。通过本地计算阶段,服务器和用户可以计算得到自己的关于 α s \alpha s αs f ( s ) f(s) f(s) α f ( s ) \alpha f(s) αf(s)的分享。具体过程如下所示:
非线性函数

3.3 线性层

线性层主要采用了加法同态加密计算输出的认证分享。由用户 P 0 P_0 P0设置公私钥,然后再密文情况下计算得到分享,其中包含了关于线性阶段的认证,即 α 3 v − α 2 w \alpha^3v-\alpha^2w α3vα2w。这个会在稍后的一致性检查阶段判断是否为0。具体如下所示:
线性层

3.4 MUSE整体方案

整体方案是将线性层、非线性层和一致性检查阶段合并在一起,构成了恶意用户模型下安全的神经网络推理协议。具体流程如下:
整体方案

四、总结

这篇文章提出了SIMC,一种在恶意用户模型下抵抗模型提取攻击的安全神经网络推理协议。其主要发现便是将混淆电路的输出作为一次填充加密的密钥,以实现认证分享过程。该机制避免了MUSE中针对认证分享的域乘法,使SIMC与MUSE相比通信效率提升了一个数量级。SIMC延续了SecureML、Gazelle、DELPHIMUSE这一系列工作,感兴趣的研究者可以深入研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值