前 言
隐私计算是目前业界大火的方向,目前BAT以及众多创业公司都推出自己的相关平台产品,目前主流路线有多方安全计算、联邦学习、差分隐私以及可信计算等方向。其中安全性是核心目标之一,各个厂商都声称自己是安全的,但是其实各自的安全假设和模型都不太一样,实践也证明并不是使用某一个技术就能实现安全。目前缺乏一个权威的安全模型定义,也没有一个严格的安全评测方式。
● 多方安全计算:基于MPC密码安全,可实现无可信三方的安全模型
●联邦学习:分布式机器学习算法,组合同态加密/差分隐私实现隐私保护增强,需要有可信三方来协调训练
●差分隐私:可以对计算结果进行保护,减少由计算结果推导出原始数据的概率
●可信计算:硬件级别的加密计算,需要信任硬件生产厂商
目前学术上安全计算的安全定义包括半诚实模型(Semi-Honest Security)和恶意模型(Malicious Security),但是这个定义并不能很好的适用于商业产品,这个定义太粗线条,也无法对应有效评测,而且很多客户不太能理解这一学术概念对应的内涵。
本文尝试从安全攻防的角度去尝试分析隐私计算系统的安全性。为什么要使用安全攻防的形式?通过分析攻击手段使我们对隐私计算安全有个系统全面的认识,而且攻防跟具体的实现方式解藕,更有利于黑盒评测。传统的安全产品,如企业的安全软件,如杀毒软件、防火墙等产品都会对攻击进行模拟测试。都是安全产品,隐私计算系统当然也可以使用这一思路。
安全攻防
隐私计算抽象来看在多方协同计算一个函数 y = f(x) ,需要保护的是各方的输入x,最终仅仅公布计算结果y。针对其中的三个要素x , f, y 可以把攻击手段总结如下
1.合谋攻击
描述:参与方(包括平台方)其中两个或者多个合谋,去推导出其他方的明文数据
场景1:秘密分享的秘密恢复
攻击方法:Alice(持有秘密x)使用秘密分享算法把秘密分拆给参与者Bob (x1)和Eve(x2),Eve与Bob决定合谋,利用秘密分片x1,x2 恢复出原始秘密x
防御方法:Alice总是自己持有一个分片,保护自己数据安全
场景2:多方的同态加法
攻击方法:Alice,Bob,Charlie向平台方Eve做密文加法运算,但是Eve和密钥持有者Alice合谋共享同态私钥,Eve可以解开任何一方的密文
防御方法:使用multikey同态加密技术,共同参与才能解密
2.假数据攻击
描述:由于隐私计算数据可用不可见特性,参与方提供假数据参与计算,造成非预期的计算结果
场景3:黑名单的数据共享
攻击方法:Alice、Bob和Eve匿名共享黑名单数据,Eve使用假数据造成判断某ID是否在黑名单中的错误结果,影响业务决策。
防御方法:使用区块链或者可信数据库对于数据进行存证,后续发现问题可进行事后审计
场景4:联合建模的问题样本
攻击方法:Alice和Eve进行联合机器学习建立模型,Eve提供过时数据导致训练好的模型在生产中使用效果不佳。
防御方法:Alice监控模型生产效果比对训练效果及时发现问题
3.恶意数据攻击
描述:攻击者通过特殊构造的输入,使得可以从计算结果中获得对方的数据。
场景5: 向量相似度计算
攻击方法:Alice和Eve计算向量相似度,Eve使用特殊构造的向量可针对的得到Alice方的特定数据。
防御方法:计算过程中结合零知识证明,要求对方给出数据分布的证明
场景6: 不对称的隐私集合求交
攻击方法:Eve构造海量的数据和Alice求交集,交集的结果近似等于Alice的数据集。
防御方法:使用基于门限的PSI技术,限制交集大小的范围
4.选择函数攻击
描述:攻击方通过选择计算不安全的函数,从而推导出对方的明文数据信息
场景7: 不安全的计算
攻击方法:Alice(持有秘密a)要求Eve(持有秘密b) 计算f = a + b , 根据计算结果可以推导对方秘密
防御方法:对函数进行形式化验证,检测计算安全性。
场景8: 不安全的规则
攻击方法:Alice持有秘密 x,y, z ,其中y是整数。Eve要求Alice计算规则 f = y>3 && y<5 ,如果f结果为True,即可推断 y = 4
防御方法:使用黑盒测试技术,可对规则进行安全性测试
5.彩虹表/穷举攻击
描述:利用安全参数或者算法本身的密文空间过小导致现实时间可破解
场景9: 有限明文空间的哈希
攻击方法:Alice向Eve查询某敏感用户的数据信息,使用hash(ID||SEED)作为主键来查询,Eve可以使用离线计算好的彩虹表逆向求出原始的ID值
防御方法:使用匿名查询或者PSI技术
场景10: 密钥长度不足的同态加密
攻击方法:Alice发送同态加密算法Paillier来加密c = HE(m),密钥长度为768,给到Eve进一步计算,但由于密钥长度不够,Eve能够在现实时间破解此密文。
防御方法:密钥长度需要满足当前的安全强度
6.偏离协议攻击
描述:攻击者不按约定的协议执行,从而破坏计算结果,且可能从计算结果中获取对方数据。
场景11: 恶意的混淆电路
攻击方法:Eve不按照约定的函数而使用虚假的混淆电路发送给Alice,此电路可以根据计算结果反推Alice的输入,造成信息泄露。
防御方法:使用cutand choose协议等技术防止电路造假
场景12: 不守规矩的秘密分享
攻击方法:Alice、Bob、Charlie、Eve持有秘密分片xi,过程中Eve不使用正确的分片,而使用一个错误值,参与计算,导致计算错误而无法被发现
防御方法:使用MAC技术,当产生计算结果后,各方生成验证信息,可以检查结果是否正确
7.差分攻击
描述:攻击方通过不同的数据跟合作方进行某种多次隐私计算,推导出想要的差异数据部分的明文数据
场景13: 数据集的统计分析
攻击方法:Eve使用两个差异很小的数据集获得Alice在此数据上的不同的统计分布情况,从而分析出增量部分的明细数据。
防御方法:对计算结果增加差分隐私保护
场景14: 不安全的组合计算
攻击方法:Eve向Alice发送请求计算在同一个数据集不同的函数,函数的个数大于等于未知变量个数,可以使用解方程的方法破解
防御方法:使用预算机制,限制在同一对象上的不同函数个数
8.侧信道攻击击
描述:攻击者通过计算过程的各种运行时(时间、内存、信号等)信息推测数据
场景15: 条件的时间差
攻击方法:Eve利用分支条件不同的计算延迟来推断b的值
防御方法:增加随机延迟
场景16: 条件的时间差
攻击方法:Eve将某加法同态密文c= HE(m) 发送给参与者Alice,Alice计算f =k*c + r , Eve可以根据f的计算时间推断出k的范围
防御方法:使用恒长算法
9.信息泄露攻击
描述:攻击者通过计算过程的中间结果或者非预期的结果泄露得到不应该获取的信息结果
场景17: 梯度汇聚的信息泄露
攻击方法:联邦学习中各方共享梯度信息给到平台方Eve,Eve可以根据每次迭代的梯度变化推测中参与者的数据
防御方法:梯度中增加差分保护,或者使用MPC算法
场景18: 不安全的MPC协议转换
攻击方法:Alice和Eve计算一个复杂的MPC计算,涉及SS和GC协议转化,未能保持计算过程中全密文状态,中间结果泄露,从而导致部分数据泄露
防御方法:计算过程中不能reveal中间变量,保持share状态
实 践
蚂蚁链摩斯(MORSE)隐私计算平台,深度融合了多方安全计算、联邦学习、可信执行环境等多项隐私计算技术。离线计算支持10亿级大规模数据稳定运行,在线计算支持千万级请求毫秒级时延,并提供标准化互联互通解决方案。摩斯深度连接多方数据生态和场景资源,帮助客户实现更安全更精准的用户洞察。被IDC评为中国隐私计算平台市场份额第一(来自《IDC中国隐私计算平台市场份额,2022》)。
摩斯安全性设计上的3个特点
去中心化
整体架构采用去中心化设计,最大化防止平台方作恶的可能性,防范合谋攻击、增强客户安全信心
多引擎
安全计算引擎上支持纯软件模和软硬混合模式,一键平滑切换。用户根据场景的安全和性能要求做出选择。
安全增强
在安全算法设计采用各种手段防范各种攻击手段提升安全性,主要有
-支持去随机数服务器,不依赖可信三方生成MT
-使用区块链进行数据存证,防范数据造假
-对部署的模型或者规则,进行安全性分析和检测
-支持对统计结果进行差分隐私保护
-结合零知识证明技术,实现可验证计算
关注我,及时获取前沿科技信息~