Skip to main content
QUICK REVIEW

[论文解读] Danger of using fully homomorphic encryption: A look at Microsoft SEAL

Zhiniang Peng|arXiv (Cornell University)|Jun 17, 2019
Cryptography and Data Security参考文献 2被引用 4
一句话总结

本文揭示了微软 SEAL(一个广泛使用的全同态加密,FHE)库中的关键安全漏洞,表明其整数编码器在实际使用中会通过密文行为泄露关于明文操作数的敏感信息。尽管 FHE 在理论上是安全的,本文揭示了 SEAL 中如整数编码器等编码方案会导致信息泄露、选择密文攻击(CCA)以及完整性问题,使得即使底层 FHE 原 primitive 安全,相关应用也变得不安全。

ABSTRACT

Fully homomorphic encryption is a promising crypto primitive to encrypt your data while allowing others to compute on the encrypted data. But there are many well-known problems with fully homomorphic encryption such as CCA security and circuit privacy problem. Despite these problems, there are still many companies are currently using or preparing to use fully homomorphic encryption to build data security applications. It seems that the full homomorphic encryption is very close to practicality and these problems can be easily mitigated in implementation. Although the those problems are well known in theory, there is no public discussion of their actual impact on real application. Our research shows that there are many security pitfalls in fully homomorphic encryption from the perspective of practical application. The security problems of a fully homomorphic encryption in a real application is more severe than imagined. In this paper, we will take Microsoft SEAL as an examples to introduce the security pitfalls of fully homomorphic encryption from the perspective of implementation and practical application

研究动机与目标

  • 调查在实际中部署全同态加密(FHE)所面临的真实世界安全风险,特别聚焦于微软 SEAL。
  • 证明尽管 FHE 原 primitive 在理论上是安全的,但像 SEAL 这类实际实现却因编码和协议设计引入了严重漏洞。
  • 强调关于 FHE 安全性的常见假设——如电路隐私性和 CCA 抗性——在实际部署中并不成立。
  • 表明 SEAL 中的编码器设计(尤其是整数编码器)会泄露关于明文操作数的信息,从而破坏隐私保证。
  • 呼吁在隐私保护应用中谨慎使用 FHE 库,并呼吁制定更强的 FHE 部署安全标准。

提出的方法

  • 分析了微软 SEAL 的 BFV 同态加密方案,重点关注整数编码器(IntegerEncoder)和批量编码器(BatchEncoder)组件。
  • 构建了一个多方计算场景(百万富翁问题),以证明编码选择如何泄露关于单个输入的信息。
  • 评估了同态操作(加法和乘法)对密文的影响,以表明不同的明文对会产生可区分的密文。
  • 发现噪声填充技术无法缓解 SEAL 中整数编码器的基于编码的信息泄露。
  • 探讨了 FHE 中缺乏认证加密的问题,表明攻击者可在不被检测的情况下修改密文。
  • 建议使用批量编码器而非整数编码器以避免编码泄露,将后者仅作为演示工具使用。

实验结果

研究问题

  • RQ1微软 SEAL 中的整数编码器在多大程度上通过可区分的密文泄露关于明文操作数的信息?
  • RQ2实际的 FHE 实现(如微软 SEAL)为何在理论上保证安全的前提下,仍无法提供电路隐私?
  • RQ3在 FHE 库(如 SEAL)中,选择密文攻击(CCA)的实际影响是什么?
  • RQ4为何 FHE 库中缺乏认证加密是影响数据完整性的关键安全缺陷?
  • RQ5现有的缓解措施(如噪声填充)能否有效防止 FHE 编码方案中的信息泄露?

主要发现

  • 微软 SEAL 中的整数编码器是多对一的,导致不同的明文对产生可区分的密文,从而泄露关于操作数的信息。
  • 即使最终解密结果相同(例如,和 = 4),中间密文仍会因输入值不同(如 (1,3) 与 (2,2))而有所差异,使攻击者能够推断出原始输入。
  • 本文证明,在多方计算环境中,攻击者仅通过观察和的密文即可重构出各个输入,表明编码泄露严重破坏了隐私性。
  • 噪声填充无法缓解此类泄露,因为可区分性源于编码结构,而非噪声水平。
  • 像 SEAL 这类 FHE 库不提供认证加密,允许攻击者在不被察觉的情况下修改密文,从而破坏数据完整性。
  • 这些安全风险不仅限于 SEAL,也广泛适用于其他 FHE 库,表明这是实际 FHE 部署中的系统性问题。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。