1. 引言
Apple认为隐私是一项基本人权。其保护用户隐私的工作遵循一系列隐私原则,其中一项原则是优先使用设备上的处理。通过在用户设备上本地执行计算,有助于最大限度地减少与 Apple 或其他实体共享的数据量。当然,用户可以请求由机器学习 (ML) 提供支持的设备体验,这些体验可以通过查找服务器上托管的全局知识来丰富。为了在提供这些体验的同时坚守Apple对隐私的承诺,Apple实施了多种技术,以帮助确保这些服务器查找是私密的、高效的和可扩展的。
用于实现这一目标的关键技术之一是同态加密 (homomorphic encryption,HE),这是一种能够对加密数据进行计算的加密形式(见上图)。HE 的设计方式是,客户端设备在将查询发送到服务器之前对其进行加密,服务器对加密查询进行操作并生成加密响应,然后客户端对其进行解密。服务器不会解密原始请求,甚至无法访问解密密钥,因此 HE 旨在在整个过程中保持客户端查询的私密性。
Apple将 HE 与其他隐私保护技术结合使用,以实现各种功能,包括私人数据库查找和机器学习。还使用了许多优化和技术来平衡 HE 的计算开销与大规模生产应用程序的延迟和效率需求。
本文将分享如何将 HE 与私人信息检索 (PIR) 和私人最近邻搜索 (PNNS) 等技术结合使用的概述,并详细介绍如何在生产中结合这些技术和其他隐私保护技术来支持增强型照片视觉搜索,同时保护用户隐私。
将 HE 引入 Apple 生态系统提供了隐私保护,能够通过私人服务器查询丰富设备上的体验,并且为了让开发者社区更容易在自己的应用程序中采用 HE,开源了一个 HE 库:
- https://github.com/apple/swift-homomorphic-encryption
- 更多详情,参考:2024年7月30日博客 Announcing Swift Homomorphic Encryption
2. 苹果对同态加密的实现
苹果对 HE 的实现需要允许 ML 工作流中常见的操作高效地大规模运行,同时实现极高的安全性。当前已经实现了Brakerski - Fan-Vercauteren (BFV) HE 方案:【BFV 基于环学习误差 (ring learning with errors,RLWE) 硬度问题,具有量子抗性。】
- Zvika Brakerski 2012年论文《Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP》
- Junfeng Fan 和 Frederik Vercauteren 2012年论文《Somewhat Practical Fully Homomorphic Encryption 》
该方案支持非常适合计算的同态操作(如点积或余弦相似度)在 ML 工作流中常见的嵌入向量上。并使用可实现后量子 128 位安全性的 BFV 参数,这意味着它们可以针对经典和潜在的未来量子攻击提供强大的安全性(详细解释见2024年2月21日博客iMessage with PQ3: The new state of the art in quantum-secure messaging at scale)。
HE 在客户端需要在服务器上查找信息同时保持查找计算加密的环境中表现出色。本文将:
- 首先展示 HE 如何单独实现隐私保护服务器查找精确匹配和隐私信息检索 (PIR),
- 然后描述如何在将近似匹配与隐私最近邻搜索 (PNNS) 相结合时使用 ML 为更复杂的应用程序提供服务。
3. 私人信息检索(PIR)
前序博客有:
- Private Information Retrieval私有信息检索
- Piano-PIR:Extremely Simple, Single-Server PIR with Sublinear Server Computation
许多用例需要设备从服务器数据库私下检索与查询完全匹配的内容,如检索适当的企业徽标和信息以与收到的电子邮件一起显示(该功能将于今年晚些时候在 iOS 18 的邮件应用程序中推出)、提供来电显示信息或检查 URL 是否被归类为成人内容(就像父母为孩子的 iPhone 或 iPad设置内容限制时所做的那样。为了保护隐私,应在不泄露查询本身的情况下检索相关信息,如在这些情况下,向用户发送电子邮件的企业、呼叫用户的电话号码或正在检查的 URL。
- 使用私人信息检索的功能——来电显示:
- 使用私人信息检索的功能——邮件:
- 使用私人信息检索的功能——网站过滤:
对于这些工作流程,使用私人信息检索 (PIR),这是一种私人关键字值数据库查找形式。在此过程中,客户端拥有一个私人关键字,并试图从服务器检索相关值,而无需下载整个数据库。为了保持关键字的私密性,客户端在将其发送到服务器之前会对其进行加密。服务器在传入的密文和其数据库之间执行 HE 计算,并将生成的加密值发送回请求设备,该设备对其进行解密以了解与关键字相关的值。在整个过程中,服务器不会了解客户端的私人关键字或检索到的结果,因为它对客户端的密文进行操作。如,在 Web 内容过滤的情况下,URL 被加密并发送到服务器。服务器使用其数据库中的 URL 对密文执行加密计算,其输出也是密文。此加密结果被发送到设备,在设备上解密以确定是否应根据家长限制控制阻止该网站。
4. 私人最近邻搜索(PNNS)
对于需要近似匹配的用例,使用 Apple 的私有最近邻搜索 (private nearest neighbor search,PNNS),这是一种高效的私有数据库检索过程,用于对向量嵌入进行近似匹配,如2024年10月论文《Scalable Private Search with Wally》中所述。使用 PNNS,客户端加密向量嵌入并将生成的密文作为查询发送到服务器。服务器执行 HE 计算以进行最近邻搜索,并将生成的加密值发送回请求设备,请求设备解密以了解其查询嵌入的最近邻居。与 PIR 类似,在整个过程中,服务器不会了解客户端的私有嵌入或检索到的结果,因为它对客户端的密文进行操作。
通过将 PIR 和 PNNS 等技术与 HE 和其他技术相结合,能够构建利用大型服务器端数据库信息的设备体验,同时保护用户隐私。
5. 在生产中实施这些技术
增强型照片视觉搜索功能允许用户在其照片库中搜索特定位置,如地标和兴趣点,这是通过将 ML 与 HE 和私人服务器查找相结合而实现的实用功能的典型示例。使用 PNNS,用户的设备可以私下查询 Apple 维护的热门地标和兴趣点的全球索引,以查找其照片库中描绘的地点的近似匹配。用户可以在其设备上使用以下方式配置此功能:设置 → 照片 → 增强型视觉搜索。
该过程从设备上的 ML 模型开始,该模型分析给定的照片以确定是否存在可能包含地标的“感兴趣区域”(region of interest,ROI)。如果模型在“地标”域中检测到 ROI,则为该图像区域计算矢量嵌入。嵌入的尺寸和精度会影响发送到服务器的加密请求的大小、HE 计算需求和响应大小,因此为了满足大规模生产服务的延迟和成本要求,嵌入在加密之前被量化为 8 位精度。
客户端将向其发送请求的服务器数据库被划分为嵌入集群的不连贯的子部分或分片。这有助于减少计算开销并提高查询效率,因为服务器可以将 HE 计算集中在数据库的相关部分上。用户设备上有一个预先计算的集群码本,其中包含集群分片的质心。这使客户端能够在本地运行相似性搜索以识别嵌入的最近分片,该分片将添加到加密查询并发送到服务器。
识别与查询相关的数据库分片可能会泄露有关查询本身的敏感信息,因此使用差分隐私 (differential privacy,DP) 和 iCloud Private Relay作为匿名网络。使用 DP,客户端会在发出真实查询的同时发出虚假查询,因此服务器无法分辨哪些是真实的。查询也会通过匿名网络路由,以确保服务器无法将多个请求链接到同一个客户端。为了运行 PNNS 进行增强视觉搜索,Apple系统确保每个用户的照片库都有强大的隐私参数,即 ( ε , δ ) (ε,δ) (ε,δ)-DP,其中 ε = 0.8 ε=0.8 ε=0.8, δ = 1 0 − 6 δ =10^{-6} δ=10−6。更多详情参考2024年10月论文《Scalable Private Search with Wally》。
处理这些查询的服务器群利用了 Apple 现有的 ML 基础架构,包括以倒排索引表示的全局地标图像嵌入的矢量数据库。服务器根据客户端查询中的索引识别相关分片,并使用 HE 计算此加密空间中的嵌入相似度。然后,将候选地标的加密分数和一组相应的元数据(如地标名称)返回给客户端。
为了优化服务器-客户端通信的效率,所有相似度分数都合并为一个指定响应大小的密文。
客户端解密对其 PNNS 查询的回复,该回复可能包含多个候选地标。然后,专门的轻量级设备重排模型使用高级多模态特征描述符预测最佳候选者,这些描述符包括视觉相似性得分、本地存储的地理信号、受欢迎程度以及地标的索引覆盖率(以消除候选者权重过高的影响)。当模型识别出匹配项后,照片的本地元数据将使用地标标签进行更新,用户在设备上搜索地标名称时可以轻松找到照片。
6. 结论
Apple 正在使用 HE 来履行其保护用户隐私的承诺,同时构建丰富的设备体验,其中包含从服务器数据库私下查找的信息。通过结合使用 PIR 和 PNNS 等隐私保护技术、设备上和服务器端 ML 模型以及其他隐私保护技术来实现 HE,能够提供增强视觉搜索等功能,而不会向服务器透露有关用户设备上内容和活动的任何信息。将 HE 引入 Apple 生态系统对于实现这一点至关重要,并且还可以帮助提供宝贵的全球知识来为设备上的 ML 模型提供信息,同时保护用户隐私。借助最近开源的swift-homomorphic-encryption,开发人员现在可以同样地构建利用服务器端数据同时保护用户隐私的设备体验。
参考资料
[1] 苹果机器学习研究中心 2024年10月24日博客 Combining Machine Learning and Homomorphic Encryption in the Apple Ecosystem