5.2 MAC 校验与恶意模型:开销翻倍的代价


5.2 MAC 校验与恶意模型:开销翻倍的代价

本节摘要:恶意参与方可以改自己广播的份额,让计算结果偏向自己。SPDZ 用一枚随机的全局密钥 alpha 给每个值 x 配标签 sigma 等于 alpha 乘 x,开放前统一验证标签关系,作弊以压倒性概率被检出。本节给出完整算例、检出概率与各路线恶意安全的开销倍数。

敌手模型:半诚实与恶意差在哪

1.2 节立过的规矩这里要用足。半诚实(semi-honest,又称"诚实但好奇")模型假设参与方照章执行协议、只是会偷偷记录并分析所有消息——保护目标是隐私性。恶意(malicious)模型假设参与方可以任意偏离协议:改消息、用假输入、提前退出——保护目标扩展到正确性:作弊要么不可能,要么必然被抓。两者的工程差价巨大且可以精确量化,本节末尾给出三条路线的倍数表。先立一个边界:恶意安全防的是"悄悄改账",防不了"掀桌子走人"——拒绝服务在任何模型里都无解,那是部署层(多副本、押金机制)的事。

核心原理:全局密钥加防伪标签

SPDZ 的防作弊机制结构上非常简洁。预处理阶段全体分享一枚全局 MAC 密钥 alpha(各方各持一片,无人知道完整值)。此后每一个被分享的值 x 都附带一枚标签 sigma = alpha 乘 x,标签同样以分享形式存在。由于 alpha 对所有人都是秘密,伪造者想给假值 x' 配上能通过验证的标签 sigma',等价于在不知道 alpha 的情况下解方程 sigma' = alpha 乘 x'——除非猜中 alpha,否则不可能。

开放时统一校验:协议不再逐值验证,而是把输出值 y 与其标签的校验量组合成一次线性检查(把所有待开放的 y 与 sigma 按公开随机系数线性组合),各方广播组合结果,验证 sigma 组合是否等于 alpha 组合乘 y 组合。作弊者只要改过任何一份份额,组合校验就会失配——被当场抓包,协议中止。检出概率的来源是 alpha 的随机性:作弊方成功伪造的概率不超过 2 的负 s 次方,s 是密钥位宽,取 64 时误检率亿亿分之几量级,足够任何业务。

图:一次开放的 MAC 校验算例

图:一次开放的 MAC 校验算例

动手演练

P, ALPHA = 101, 37 def mac_check(x, sigma, cheat=None): x = x if cheat is None else cheat return sigma == (ALPHA * x) % P print(mac_check(42, 39)) # True 诚实开放 print(mac_check(42, 39, cheat=43))# False 篡改被检出

会话输出 True 与 False。生产版差异只在三处:alpha 与标签同样以分享形式存在(开放校验本身也是一次 MPC 计算)、校验值经随机线性组合批量验证、位宽换成 64 或 128。

恶意安全的三档价格表

把全书出现过的恶意安全开销放在一张表里对齐(半诚实为基准):

路线 半诚实开销 恶意安全机制 典型倍数
混淆电路 门表一次传输 cut-and-choose 抽查约 40 份电路 约 40 倍带宽
SPDZ 在线 每乘法 16 字节 MAC 校验织入在线 约 2 至 5 倍
秘密分享三方复制 每乘法 1 次开放 分享重排或 SPDZ2k 校验 约 2 至 3 倍

选型判断因此清晰:恶意需求 + 算术任务 = SPDZ 系几乎必选;恶意需求 + 小型布尔任务,40 倍的绝对量或许仍然便宜(比较电路本身只有几 KB)。为半诚实够用的场景强上恶意安全,是最常见的预算浪费;反过来在广告竞价这类强对抗场景里省安全预算,是最危险的成本砍法。

💡 关键直觉:MAC 的本质是把"信任多数人诚实"压缩成"信任一枚没人独占的随机数"。防伪成本从密码学证明降为一次线性校验,这就是 SPDZ 能把恶意安全做到翻倍价的原因。

本节要点:标签关系 sigma 等于 alpha 乘 x 让伪造等价于猜密钥;批量线性校验把检出成本摊薄;三档恶意安全价格 40 倍、2 至 5 倍、2 至 3 倍。下一节回答更根本的问题:这些安全性质凭什么被"证明"。

检出作弊之后怎么办

MAC 校验失败的那一刻,协议中止——然后呢?这个问题在论文里没有答案,在部署里却是关键流程。工程上分三步走。存证:校验失败的挑战值、各方广播的份额、失配的证据材料立即落盘并签名,这份材料是事后追责与合规上报的依据——恶意安全买到的"可检出"价值全在这份证据上。隔离:中止参与方的会话资格,其后续请求进入隔离区重放检查,防止"失败攻击"刷接口。裁决:按业务规则决定整批任务重跑(剔除作弊方)还是全部作废——剔除方后协议要在剩余方上继续,这要求部署时就规划好降级参数。

另一件值得提前想清楚的事:校验失败的频率本身就是安全信号。偶发失败大概率是网络或实现缺陷,频率异常升高则可能意味着真实攻击在进行中——把校验失败率接进监控告警,恶意安全就从一纸协议变成了可运营的能力。

MAC 思想的一鱼三吃

MAC 校验机制在本教程里出现了三次变体,值得合并起来看一次全貌。第一吃:值级防伪——本节的 sigma 等于 alpha 乘 x,给每个分享值配标签,开放时批量验证,这是 SPDZ 的在线主防线。第二吃:材料防伪——5.1 节末尾预告过,预处理产出的三元组本身也可以带 MAC,在线使用前先验材料再验结果,堵住"源头投毒"。第三吃:跨域复用——7.3 节金融场景把"检出记录当审计证据"、6.4 节把校验失败率接进监控,MAC 的失配信号从安全机制延伸成了运营指标。

三次变体合起来给出一层新认识:恶意安全不是一道门禁,而是一套从材料、计算到运营的纵深体系。只实现值级校验的系统,材料端与运营端都是敞开的;评审一套"恶意安全"方案时,三吃的完整度就是它的真实成色。

最后补一个选型层面的提醒:MAC 机制的位宽是安全性与开销的直接交换变量——64 位够绝大多数业务,128 位用于强对抗场景,但每个开放值的通信随位宽线性上涨。把位宽当成与"环宽、阈值"同级的显式参数写进方案,而不是埋在框架默认值里,是恶意安全部署的最后一笔职业素养。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U