↓ 跳过正文
  1. Posts/

入门隐私计算:从一个例子看懂主要研究方向

METEOR
作者
METEOR
记录技术探索、研究笔记与生活思考。

先想一个问题:两家医院想合作统计某种疾病的患者情况,但谁都不能把完整病历交给对方,怎么办?

如果把数据全部汇总,计算很简单,但隐私风险很大;如果完全不共享,合作又无法进行。隐私计算研究的就是:数据不直接公开,任务仍然可以完成。

这句话也常被说成“数据可用不可见”。下面我们一步一步理解它。

一、隐私计算究竟在保护什么 #

普通加密主要保护数据的存储和传输。比如你把文件加密后放到云盘,别人打不开;但云盘要处理文件时,往往需要先解密。

隐私计算还希望保护“计算过程”。服务器可以参与计算,却不应该看到完整原始数据。

举例:银行和医院想计算共同客户的数量。理想结果是双方只知道“共有 100 人”,而不是看到对方的完整客户名单。

二、多方安全计算:大家一起算,谁也不交底 #

多方安全计算(MPC)允许多个参与者共同计算一个函数,只公开事先约定的结果。

还是刚才的例子:医院 A、医院 B 和医院 C 想统计三方共同患者数。协议运行后得到数字 100,但任何一家医院都不应该知道另外两家的完整名单。

MPC 常用秘密共享。一份秘密会被拆成多份,单独拿到一份没有意义,只有足够多的参与者合作才能恢复或完成计算。

MPC 的研究方向包括:如何减少通信、如何支持更多参与方、有人恶意发送错误数据时如何发现,以及有人掉线时协议能否继续。

三、秘密共享:不要把钥匙交给一个人 #

秘密共享(SS)就像把保险柜钥匙拆成五片,规定至少三片才能打开。一个人拿到一片,无法打开保险柜。

在系统中,可以把解密密钥拆给五家机构,规定三家同意后才能解密敏感结果。这样既能防止一个管理员滥用权限,也能避免某个人离职导致密钥彻底丢失。

研究时常见的问题是:门限能否动态调整?某个机构退出后如何补发份额?如何防止参与者提交假的份额?

四、PSI:只找共同数据 #

隐私集合交集(PSI)专门解决“双方有哪些相同元素”这个问题。

例子:电商平台有用户集合 A,银行有用户集合 B。双方运行 PSI 后,得到 $A\cap B$,也就是共同用户;A 中独有的用户和 B 中独有的用户不会直接暴露。

PSI 是隐私数据处理里最常用的基础任务,可以用于联合风控、跨平台推荐、患者匹配和数据跨域连接。

研究重点包括大规模 PSI、多方 PSI、带标签 PSI、可更新 PSI,以及如何降低通信量。

五、PSU:合并数据但隐藏来源 #

隐私集合并集(PSU)与 PSI 相反,目标是得到多个集合的并集,同时尽量不暴露每个元素来自哪一方。

例子:多家机构想共同建立一份去重后的黑名单。PSU 可以让大家得到完整的去重集合,而不直接标明某个用户最初由哪家机构提交。

PSU 通常需要传输更多结果,因此如何减少输出大小、保护元素来源,是重要研究问题。

六、PMT:只回答“在不在” #

私密成员测试(PMT)用于判断一个元素是否属于某个集合,但不公开整个集合。

例子:平台想判断某个账号是否在风险名单中。查询方只得到“是”或“否”,看不到风险名单中的其他账号。

PMT 适合黑名单检查、资格验证和隐私检索。研究时要关注查询方能否通过大量提问反推出整个集合。

七、OT:只能拿走自己选的那一份 #

不经意传输(OT)可以这样理解:老师准备十道答案,学生只选择其中一道,老师不知道学生选了哪一道,学生也拿不到其余答案。

在密码协议中,OT 是许多 MPC 和 PSI 方案的基础组件。它让双方交换必要信息,却减少不必要的泄露。

研究方向包括批量 OT、低通信 OT、抗恶意攻击 OT,以及适合移动设备和大规模网络的实现。

八、OPRF 和 OPPRF:共同计算指纹,但不互相交出秘密 #

OPRF 是“隐私保护的伪随机函数”。一方拥有密钥,另一方提供输入,双方共同得到一个结果,但输入方看不到密钥,密钥方也看不到完整输入。

例子:双方都把用户手机号转换成伪随机指纹,再比较指纹是否相同;任何一方都不需要直接看到对方的手机号。

OPPRF 是可编程版本,可以对特定输入设置特定输出,适合更复杂的匹配规则,例如“只有满足某个条件的记录才返回标签”。

研究重点包括更快的构造、更短的通信,以及如何支持批量输入和动态更新。

九、OKVS:一张经过保护的查找表 #

OKVS 可以先理解为一种隐私键值表。输入一个键,可以查到对应的值,但表的构造和存储方式经过特殊设计,适合放进隐私协议。

例子:把用户编号作为键,把风险标签作为值。协议可以在不公开整张表的情况下完成查询。

OKVS 经常和 PSI、OPRF 一起使用。研究者会关注它的空间大小、构造速度和查询错误率。

十、ORAM:连“查了哪一行”也隐藏起来 #

即使数据内容已经加密,服务器观察访问位置和访问顺序,也可能猜出用户在查什么。ORAM(不经意 RAM)就是为了隐藏这种访问模式。

例子:你查询加密数据库中的第 10 条记录。如果服务器每次都看到你访问第 10 条,可能推断这条记录很重要。ORAM 会重新排列和填充访问,让服务器难以判断真实目标。

ORAM 的代价是额外读写和通信,因此研究方向主要是降低访问开销、支持并发查询和适配云数据库。

十一、模糊匹配:不完全相同,也能判断相似 #

普通 PSI 只能判断两个字符串是否完全相等。但现实数据经常有错别字、格式差异和缺失字符。

例子:“张三”“张 三”和“张珊”可能指向同一个人。模糊匹配希望在不公开姓名的情况下判断两条记录是否足够相似。

难点是相似度计算可能泄露更多信息,而且编辑距离、集合相似度等计算都比精确匹配更昂贵。如何同时保证准确率、效率和隐私,是这一方向的核心问题。

十二、多方和阈值:从两个人合作到多个机构共同决策 #

两方协议只涉及甲乙,多方协议还要处理机构数量增加、网络不稳定、参与方串通等问题。

阈值机制则规定“至少多少方同意才可以继续”。例如五家医院中至少三家同意,才能解密联合统计结果或执行一次数据删除。

这类研究通常会结合秘密共享、门限签名和身份认证,重点是防止单点控制,同时保证合法参与者能够完成任务。

十三、TEE:用硬件提供一个安全房间 #

可信执行环境(TEE)可以看成处理器里的安全房间。程序和数据在房间内运行,操作系统和云管理员不能直接查看。

例子:保险公司把风险模型放进 TEE,医院把数据送入安全区域,模型在里面计算,外部只能拿到规定的统计结果。

TEE 通常比纯密码协议快,但需要信任硬件和厂商,还要防侧信道攻击、回滚攻击和伪造远程证明。因此研究者会关注如何验证环境真实可信,以及硬件失守后如何降低损失。

十四、这些组件最终要解决什么业务问题 #

把上面的知识串起来,就会得到几个具体应用:

  • 加密数据查询:服务器不解密,也能完成条件查询;
  • 隐私数据获取:用户只拿到被授权的字段;
  • 分布式数据清洗:多方找出标签冲突和重复记录,却不交换完整数据;
  • 数据跨域连接:不同机构识别共同记录,用于联合分析;
  • 密态数据处理:在保护状态下完成统计、比较和模型计算。

例如,两家医院可以先用 PSI 找到共同患者,再用 PMT 检查某类风险标签,使用 MPC 计算统计结果,最后用秘密共享控制谁能解密结果。这就是一个完整的隐私数据处理流程。

十五、新手怎样开始学习 #

建议按这条路线来:

  1. 先掌握哈希、对称加密、公钥加密和数字签名;
  2. 再学习秘密共享和安全模型;
  3. 接着理解 OT、OPRF 和 PSI 的基本流程;
  4. 跑通一个开源 PSI 或 MPC 项目;
  5. 根据兴趣深入 OKVS、ORAM、模糊匹配、多方协议或 TEE;
  6. 最后选择一个具体问题做实验,例如动态 PSI、隐私数据清洗或通信优化。

要记住:不要把“会背很多缩写”当成学会隐私计算。真正重要的是看到一个业务问题时,能回答三件事:哪些数据需要隐藏?允许泄露什么结果?怎样证明协议确实安全且能运行?

总结 #

隐私计算的目标,是让数据在不直接公开的情况下产生价值。MPC 负责共同计算,秘密共享负责分散控制权,PSI/PSU/PMT 负责集合处理,OT/OPRF/OPPRF/OKVS 提供密码学积木,ORAM 隐藏访问模式,模糊匹配处理不完全相同的数据,多方和阈值机制管理协作权限,TEE 则用硬件换取更高执行效率。

这些技术最后都指向同一个研究问题:如何让数据跨机构流动和计算,同时把隐私泄露控制在可接受范围内。

相关文章