Page 344 - 《软件学报》2026年第6期
P. 344
白浩 等: 基于秘密分享的高效隐私保护卷积神经网络预测 2663
e
在线阶段: 这个阶段包括两个步骤. 首先, 客户端将 X= X − R 发送给服务器, 因此 X 被秘密分享在客户端和服
务器之间. 最后, 服务器计算 W ·(X − R)+M 作为输出, 而客户端持有在离线阶段获得的 N 作为输出. 在线阶段结
束之后, 客户端和服务器获得 W · X 的秘密分享份额.
基于协议 1 完成线性层 W · X 的安全计算, 且计算结果正确, 具体见第 4.1 节正确性分析, 因此基于秘密分享
完成线性层安全计算并不会影响隐私保护预测结果.
3.2 安全非线性层
由于安全计算非线性层的 ReLU 激活函数通常需要依赖计算耗时的混淆电路, 并且会导致系统开销进一步增
加. 现有的研究工作大多采用线性近似替换 ReLU 激活函数. 然而, 这种近似处理会导致预测准确率下降. 为了克
服这一问题, 提出了使用参数化二次多项式进行近似处理的方案. 通过这种方法, 可以在保持预测准确率的同时,
以秘密共享的方式安全地完成近似计算.
2
ReLU 激活函数可以表示为 max(x,0). 与之前的研究工作类似 [9,11] , 将用二次多项式函数 x 来近似替换 ReLU.
完成协议 1 后, 云服务器 S 获得 M, 客户端 C 获得 N. 将云服务器的 W ·(X − R)+M 表示为 Q, 客户端的 N 表示为 P.
2 2 2 S 本
为了安全地计算非线性层中的 (P+Q) , 展开表达式得到 P +2P·Q+Q . 使用线性层的输出, 云服务器
2
2 P . 云服务器和客户端运行协议 2 P·Q, 使得双方都拥有秘密共享, 即
地计算 Q , 客户端 C 本地计算 安全计算
U +V = P·Q. 最后, 非线性计算的结果进行秘密分享, 以确保非线性层的安全性 (即, 云服务器持有 Q +2U, 客户
2
P +2V). 协议 2 中所述的转换过程分为: 降维转换 (即, 步骤 1), 升维转换 (即, 步骤 5 和步骤 6) 和扩充转
2
端持有
换 (即, 步骤 2). 具体地, 降维转换是将矩阵按行顺序转换到一维向量; 而升维转换是将向量按行顺序转换到矩阵.
扩充转换则是将矩阵按行顺序填充到新矩阵对角位置, 其余位置填 0. 如图 3 所示.
协议 2. 非线性层计算协议.
x×y
x×y
输入: S 输入矩阵 Q ∈ R , C 输入矩阵 P ∈ R ;
x×y
x×y
输出: S 得到矩阵 U ∈ R , C 得到矩阵 V ∈ R , 其中 V +U = P·Q.
// 数据准备
ˆ
1. S 将 Q ∈ R x×y 降维转换为一维行向量 Q ∈ R 1×xy .
2. C 将 P ∈ R x×y 扩充转换为矩阵 ˆ P ∈ R xy×xy , 其中将 P ∈ R x×y 的元素填充到对角位置, 其余位置填 0.
3. C 生成盲化矩阵 Z ∈ R xy×xy .
// 结果计算
ˆ
,
4. ˆ U ∈ R 1×xy ˆ V ∈ R 1×xy 矩阵分解计算协议 (Q, ˆ P, Z).
x×y
5. S 将 ˆ U ∈ R 1×xy 升维转换为矩阵 U ∈ R .
6. C 将 ˆ V ∈ R 1×xy 升维转换为矩阵 V ∈ R .
x×y
降维转换
x 1 x 2
x 1 x 2 x 3 x 4
x 3 x 4 升维转换
0 0 0
x 1
0 0 0
扩充转换
x 1 x 2 x 2
0 0 0
x 3 x 4 x 3
0 0 0 x 4
图 3 降维转换、升维转换和扩充转换示意图

