Page 256 - 《软件学报》2026年第2期
P. 256

余欢 等: Antelope: 基于  GPU  的三方隐私保护机器学习框架                                           735


                 对点通信渠道. 同时每个参与方会忠实地执行协议, 不会向其他参与者恶意传输错误的信息. 然而, 参与者可能会
                 对输入数据表现出好奇心, 并有可能记录中间结果和接收到的其他参与者的信息, 以此来推断输入数据的隐私信
                 息. 在没有可信第三方的情况下, 在这种安全模型中, 本文提出的协议只需要保证                       3  个参与者都无法从自身持有的
                 数据和计算过程中记录的数据中推断出隐私数据的任何信息, 即可保证安全性. 形式化地来说, 我们将诉诸安全模
                 型于定义   1.
                    定义  1. 半诚实安全性. 设     f : (Z/2 Z) → (Z/2 Z)  是随机可计算函数,  l, q ∈ Z ⩾1  而  π 是一个  3PC  计算协议. 我
                                                3
                                                       q
                                                         3
                                              l
                                                                                              3
                                                                                            l
                 们称  π 满足单腐坏半诚实安全性, 如果存在 PPT 算法           S  使得对每个   j ∈ {0,1,2} 和每个输入  x ∈ (Z/2 Z) , 都有:

                                                        π
                                                 π
                                            {output ( x),view (x)} ≡ { f( x),S(j, x j , f j (x))},
                         π
                                                                        π
                                    j
                 其中,  view (x) 是参与方   在执行 π 时接收到的数据的有序组合,          output (x) 是  3  个参与方执行 π 后得到的共同输
                 出, ≡ 表示两种概率分布多项式时间在忽略可略概率的情况下不可区分.
                    尽管本文基于半诚实安全模型, Antelope 的协议框架仍可扩展至恶意安全模型                    (malicious security model), 即允
                 许任意数量的参与方恶意偏离协议执行. 为了提高安全性, 我们可以结合可验证秘密共享                            (VSS) 防止数据篡改, 其
                 允许参与方在秘密共享阶段验证其他方提交的份额是否有效. 这可以防止恶意方提供错误的数据份额, 影响最终计
                 算结果. 例如, 可采用基于 Pedersen 承诺的 VSS 方案, 使每个秘密共享值都能被有效验证, 同时保持计算的高效性.
                    当前 Antelope 主要基于标准的三方计算协议, 如 SPDZ、Beaver 乘法三元组等. 这些协议在恶意模型下可以
                 通过如下方式增强.
                    (1) 采用 MAC 认证   (如 SPDZ 方案中的信息验证代码) 来防止篡改共享值.
                    (2) 利用强一致性检查      (如 Cut-and-Choose 技术) 降低恶意行为可能性.
                    结合多重门限密码学方案, 使得即使部分参与方恶意作恶, 协议仍能保证计算正确性.
                    尽管恶意安全性提供了更强的隐私保护能力, 本文并未在 Antelope 框架中直接实现这些优化, 主要基于以下
                 考虑: 首先, 恶意安全模型通常需要额外的密码学工具                (如零知识证明、MAC 认证、可验证计算等), 这会显著增
                 加计算和通信开销, 降低系统的整体性能, 尤其是在 GPU 计算中, 部分安全检查可能难以高效并行化. 其次, 实现
                 这些优化需要对协议进行较大幅度的修改, 并引入额外的工程复杂性, 例如重新设计共享验证机制或优化现有
                 GPU 内核以支持更复杂的安全检查. 因此, 本文选择专注于半诚实安全模型, 并将恶意安全性的扩展留作未来研
                 究方向, 以进一步探索在保证安全性的同时优化计算效率的可能性.
                  2.2   符号说明
                    记  Z 为整数集, 本文用     Z/kZ 表示环  Z 关于子环    kZ 的商环, 其上的加法和乘法循常规定义. 进一步, 如果              k
                                                                                          l−1
                                                                  l
                 是素数,   Z/kZ 构成有限域, 记作  . 如果存在正整数   使得         k = 2 , 我们将  Z/kZ 中的元素和  [−2 ,2 l−1  −1] 中的对
                                                          l
                                          F k
                 应整数等同起来. 我们用       { }     表示多方计算的      3  个参与方. 由于秘密分享模式下实际参与计算的是环中的元
                                     P j j∈Z/3Z
                 素, 我们在实际计算时使用整数代替相应实数作计算, 具体来说: 设                    x ∈ R, 我们固定精度   f ∈ Z ⩾1  作为浮点数的定
                                    f
                                           l
                 点表示规格, 然后利用      ⌊2 x⌉ ∈ Z/2 Z 代替   x 参与计算, 这里  ⌊·⌉ 是最近舍入运算.
                                                                                       l
                    数据   x ∈ R 在精度为   时的算术秘密分享记作         [[ x; f  ]] A  = (x 0 , x 1 , x 2 ), 其中  x 0 , x 1 , x 2 ∈ Z/2 Z 并满足  x 0 + x 1 + x 2 =
                                     f
                   f                                                   (x j , x j+1 ). 为了更高效地进行 Antelope 支持
                 ⌊2 x⌉. 本文采用复制秘密分享模式, 这种模式中参与方              P j  将持有数据
                 的神经网络层计算, 我们没有使用如文献             [14,20,21] 中的二进制秘密分享模式, 但采用了一种特殊的布尔秘密分
                                                                                  B ′
                 享模式   B'用于 MSB、ReLU 以及一些非线性函数的计算: 设             b ∈ Z/2Z, 我们记  [[b]] = (b 0 ,b 1 ,b 2 ) 并满足  b 0 = b 1 ,
                 b 1 ⊕b 2 = b. 为了方便起见, 本文省略算术秘密分享的角标 A.
                    不经特别指明, 我们总是用小写字母            (如  x) 表示标量, 小写粗体字母      (如  x) 表示一维向量, 大写字母      (如  X)
                 表示矩阵.
                  3   Antelope 框架设计与实现
                    Antelope 底层使用 PyTorch 框架, 利用 Python 开发. 为了一方面支持 GPU 并行同时便于协议实现以及上层
   251   252   253   254   255   256   257   258   259   260   261