本文可在 arxiv 上根据 CC BY 4.0 DEED 许可获取。
作者:
(1) Ehsan Toreini,英国萨里大学;
(2) Maryam Mehrnezhad,伦敦大学皇家霍洛威学院;
(3) Aad Van Moorsel,伯明翰大学。
在本节中,我们将介绍系统的架构(图 1)并描述其功能。 FaaS 架构包括三个角色的利益相关者:A) ML 系统:拥有数据和 ML 算法的系统,B) 公平审计服务:计算 ML 系统公平性能的服务,以及 C) 通用验证者:任何人谁拥有验证审核过程的技术专长和动力。
实现各自协议角色(ML 系统、公平审计服务和通用验证器)的各方的安全性设计和实现(图 1)是相互独立的。角色之间发生的相互沟通假定各方之间不存在信任;因此,他们的所有主张都必须附有验证证明(我们将使用 ZKP)。我们假设审计系统容易受到不同的攻击并且不值得信赖。因此,存储在公平审计系统上的数据必须在各个阶段进行加密、防篡改和可验证。此外,我们假设机器学习系统和公平审核员之间的通信通道不受保护。因此,敏感数据必须在传输开始之前进行加密。然而,在协议序列的预设阶段,将就密码原语达成一致。
在 FaaS 中,我们假设 ML 系统诚实地发送数据集样本的原始标签的密码。人们可能会反对这种假设,并讨论机器学习系统可能打算通过修改数据集的实际标签来欺骗审计服务,并扩展验证者。例如,机器学习系统将提供尽可能相似的实际标签和预测标签的密码,以便审核员得出算法是公平的结论。这是一个值得进一步研究的有趣领域。例如,可以通过独立地向审计服务提供实际标签的密码来解决这个问题,例如验证者可以拥有它提供给机器学习系统的数据集。然后,验证器单独确定实际标签的所需值,并将这些值提供给审核器服务。这样,机器学习系统就不太清楚如何操纵发送给审核员的数据,因为一些标签来自其他地方。
角色的内部安全性超出了 FaaS 的范围。机器学习系统本身需要考虑额外的措施来保护其数据和算法。我们假设机器学习系统确实诚实地呈现了数据和预测。这是一个合理的假设,因为以道德方式行事的动机与参与公平审计过程时不诚实的动机相反。这将在讨论部分进行更多讨论。
表 2:原始数据中条目的 3 位表示的可能排列。
主要的安全协议序列位于机器学习系统和公平审计服务或简称审计员之间。请注意,尽管我们建议在架构中使用三个角色,但通信主要在上述两个角色之间进行,并且任何通用验证者如果想要挑战计算,都可以求助于审计服务(代表公平委员会)。
ML系统负责ML算法的实现和执行。它以数据作为输入,并执行一些预测(取决于用例和目的),形成输出(图 1)。公平审计服务从机器学习系统接收信息,通过计算公平性指标来评估其公平性表现。然后,它将指标结果返回给机器学习系统。它还在公平委员会中发布计算结果以供公众验证。公共公平委员会是可公开访问的只读公平委员会(例如网站)。审计员仅有权向公平委员会追加数据(和充分的证据)。此外,审核员在发布数据之前会验证数据的真实性、正确性和完整性。
该协议分为三个阶段:设置、密码生成和公平性度量计算。
在此阶段,机器学习系统和审核员就初始设置达成一致。我们假设协议在乘法循环群设置(即数字签名算法(DSA)类群[18])中起作用,但它也可以在加性循环群(即椭圆曲线数字签名算法(ECDSA)类群[18]中起作用) ])。在协议开始之前,审计员和机器学习系统公开就 (p, q, g) 达成一致。令 p 和 q 为两个大素数,其中 q|(p − 1)。在乘法循环群 (Z ∗ p ) 中,Gq 是素数阶 q 的子群,g 是其生成元。为简单起见,我们假设决策 Diffie–Hellman (DDH) 问题超出了范围 [31]。
接下来,ML系统使用DSA或ECDSA生成公钥/私钥对,并将公钥发布到公平板中。私钥对的保护取决于机器学习系统的安全架构,我们假设私钥按照工业标准实践安全存储(例如使用板上的安全内存模块)。
密码表:在初始协议后,机器学习系统会生成一个密码表,其中 n 行对应于测试数据集中的样本数量。在本文的其余部分中,我们将将此表称为密码表。如果 ML 系统不想透露测试集中的样本数量,审核员和 ML 系统可以公开就 n 达成一致。在这种情况下,n 必须足够大,以便通用验证者对结果感到满意。
密码表中的每一行总结了三个参数:(1) 受保护组成员身份状态,(2) 其实际标签,(3) ML 模型预测的标签。每行包含三个参数的加密格式及其正确性证明。设置阶段的密码表如表3所示。在最简单的情况下,每个参数都是二进制的。因此,组合参数总共将生成八种排列。在设置阶段,生成的表包含所有八种可能的排列及其每个数据样本的证明。排列的总体结构如表 2 所示。每一行将满足四个属性:(a) 人们可以轻松验证单个密码是否是八种可能排列之一的加密版本,(b) 同时可验证,只要选择一个密码,无法执行当前密码代表的排列,(c) 对于从单行中选择的每两个密码,任何人都能够区分彼此,并且 (d) 给定一组任意选择的密码从每一行作为一个集合,我们可以轻松地检查集合中每个“排列”有多少个案例。
密码表函数的生成基于以下顺序:
步骤(1):对于n个样本中的每一个,系统生成一个随机公钥g xi ,其中xi 是私钥,xi ∈ [1, q − 1]。
步骤(3):从密文表中选择与二进制编码的十进制值对应的列号,完成公平性审计表(如表2)。
最后,生成的公平审计表由机器学习系统进行数字签名,然后通过公平审计服务发送。
首先,公平审计服务接收公平审计表,验证数字签名和ZKP,并将内容发布在公平板上。
此时,我们展开每个方程组件以将它们放在一起进行比较。
这个过程的计算量很大,尤其是当公平审计表中的数据样本数量很大时。在这种情况下,公平审计师可以将排列数的声明委托给机器学习系统。审核员仍然会收到公平性审核表和相关的 ZKP。它可以将公平性审计表存储到公平性板中,计算公平性,并验证所声明的排列数的正确性。通用验证者可以遵循相同的步骤,通过可通过公平委员会公开访问的公平审计表来验证公平性度量计算。
在此阶段结束时,审计员使用获得的数据来计算公平性指标并公开发布信息。每个排列的数量表示每个具有受保护属性的组的 ML 算法的整体性能。表 4 展示了排列及其与 ML 系统公平性指标的关系。密码表及结果将在公平板上公布(图1)