全同态加密:蒙眼计算
加密角落
彼得·古特曼,pgut001@cs.auckland.ac.nz
大卫·纳卡什,david.naccache@ens.fr
查尔斯·C·帕尔默,ccpalmer@us.ibm.com
1540‐7993/16/$33.00 © 2016 IEEE 由IEEE计算机与可靠性学会联合出版 2016年1月/2月 63
Today’s 对移动性的关注改变了我们使用技术的方式,并转移了我们的关注点。为了能够从任何地方访问数据,企业和个人都在将他们的数据甚至计算外包给云——由其他公司管理的外部服务器。这一转变带来了一个严重的问题:云服务提供商本身并不可信。市场竞争激烈,使得安全性、性能等“附加功能”变得昂贵。更重要的是,存储在云服务上的信息正变得越来越有价值和个人化。如果黑客控制了这些服务器,他们就能在极其敏感的数据海洋中自由游走。
在过去的50年里,蓬勃发展的密码学科学提供了巧妙而强大的方法来保护私人信息。近年来,技术变革与一项革命性理念相结合,使我们即将实现外包的安全计算:全同态加密(FHE)。
动机:迁移到云端
谨慎的用户可能会在将数据上传到不安全的云服务之前对其进行加密。如果用户仅打算将云服务用于存储,这种方法是可行的。但他们越来越希望云服务能够提供实际的服务,包括对数据的计算。例如,他们可能需要向搜索引擎发送查询,搜索引擎会对数据运行算法并返回结果。然而,对数据进行加密后,云服务便无法使用这些数据(见图1)。
为了利用服务提供商的计算能力(在使用智能手机时通常需要这样做),你无法以传统方式加密你的数据。但如果你不加密数据,任何人(包括云服务本身)都可以轻易读取它。罗纳德·里维斯特和他的同事首次在1978年提出了这一困境,并且该问题在30多年间一直未得到解决。2009年,克雷格·金特里最终给出了第一个令人满意的答案。事实证明,协调隐私与云计算是可能的:全同态加密(FHE)应运而生,它允许你以可证明安全的方式外包计算。
同态加密
让我们从一个同态加密的简单例子开始:连接。连接是指将两条消息或两个密文按顺序排列。如果你使用的是替换密码,则可以在密文上进行连接;也就是说,你可以先连接再加密,或者先加密再连接——结果是相同的。因此,你可以安全地将连接操作外包出去。
说实话,连接并不是一种有趣的计算。但一种允许对加密数据进行任意计算的加密系统——称为同态加密——将解决这一难题。(我们可能还关注其他特性,例如密文在执行操作后是否保持相同大小,从而与其他密文相似。)要实现同态加密,需要执行两种操作:加法和乘法。
部分同态加密
许多部分同态加密方案都存在。即使是最早的公钥密码系统之一RSA,也允许你在不解密的情况下计算两个明文的和(这通常被认为是一种漏洞,可通过所谓的RSA填充函数来阻止)。塔希尔·埃尔伽马尔的密码系统则允许你计算消息乘积。长期以来,我们不得不在加法和乘法之间做出选择,这两种操作对于任意计算来说都不足够。
第一个重大进展是发现了一些有点同态加密方案。这些方案允许进行任意计算;然而,它们是“有点”同态的,因为每次对密文执行操作时,该操作不可避免地会增加一些噪声(见图2)。少量噪声不会影响解密。但在累积的噪声使密文无法解密之前,你只能执行有限次数的操作。
换句话说,每次执行操作都有成本,且不能超过固定的初始总成本。尽管如此,部分同态加密仍然有用。对于简单的操作,噪声在解密时会直接消失。
近20年来,人们一直在寻找一种加密方式没有受到噪声的困扰。许多想法被提出,但最终都被证明是不安全的。然而,盖内特的革命性见解终于为全同态加密打开了大门。
表1展示了从部分地到完全地同态加密的发展过程。
| 同态加密类型 | 无限数量的操作? | 所有可能的计算? |
|---|---|---|
| 部分地 | Yes | No |
| 有点 | No | Yes |
| 完全 | Yes | Yes |
全同态加密
盖内特的想法是寻找一种具有低解密复杂度的加密方案——即解密所需的操作非常少。这为何重要?因为解密过程本身可以(有点)同态地计算(见图3)。这类加密方案被称为可自举的。
直观上,解密可以去除噪声。事实上,如果我们完全解密一个密文,就可以通过生成一个加密相同明文的新密文来“刷新”它。然而,我们希望找到一种无需私钥即可刷新的方法。自举以同态方式对密文进行解密。“盲目地”解密并重新加密一个密文,可以得到一个全新的、无噪声的密文,之后便能随意在其上进行额外的计算。这实际上是一个定理:
如果E是可自举的,则对于任意整数d,可以构造一个方案E(d),该方案能够计算深度为d的任意电路(由与非门组成)。E(d)的解密电路与E相同,且加密的复杂度也相同。
FHE的第一步是构建一个可自举的有点同态加密方案。盖内特选择了格加密,因为使用浅层电路即可轻松完成解密。他还使用了一种称为“压缩技术”的技巧,使密文更易于解密。如今大多数同态加密构造都依赖于格,尽管也存在其他替代方案。其解密过程为
。)
是一种公开的操作。这种双重加密是我们逐步清除密文噪声的起点。
当然,我们的目标不仅仅是获得相同明文的刷新后的加密。正如盖内特所展示的,如果我们能够评估解密电路的NAND扩展(即两个解密电路连接到一个NAND门),就可以利用在公钥2下加密的私钥(sk1在pk2下)以及分别在pk2下对消息1和消息2(m1 NAND m2)进行加密的两个密文,生成在公钥2(pk2)下的明文消息加密。通过对电路中某一层的所有密文递归执行此操作,我们可以评估深度为d的NAND电路。
在同态解密过程中,确保噪声不会增长过多至关重要,因为我们需要解密能够正确进行,并支持后续的操作。因此,尽管我们可能需要频繁地进行自举,但只要选择正确的参数,全同态加密就能正常工作。
我们可以安全地执行任意复杂的计算,利用外部服务器的计算能力。为了说明这一点,可以想象盲人厨师(或摄影师、银匠等)在使用他们看不见的东西上施展技能。在这个类比中,厨师代表强大的云服务,而他们所处理的原材料就是你的数据。
一个开放性问题仍然存在:能否在不从有点同态加密方案出发的情况下,构建出(完全)同态加密方案?
局限性与代际发展
那么为什么全同态加密尚未 everywhere 被使用呢?因为尽管上述的全同态加密是可行的,但它实际上完全不实用。
自举操作在计算资源上消耗极大,且必须频繁执行。此外,密文非常大。在Gen‐try和Shai Halevi的早期实现中,公钥大小从“小”设置的70兆字节到“大”设置的2.3吉字节不等;执行一次自举操作的时间从“小”设置的30秒到“大”设置的30分钟不等。尽管如此,他们的方法证明了全同态加密的可行性,并推动了进一步的研究努力。
第一代基于盖内特和哈尔维构造的方案的安全性依赖于有点同态组件。盖内特和哈尔维实现的效率也引起了关注,促使研究集中在降低方案复杂度上。下一代方案采用不同技术来改进效率。
全同态加密:蒙眼计算
加密角落
格仅包含简单的算术操作。第二步是构建刷新(即自举)过程。本质上,这是使用加密的私钥同态地执行解密操作。通过解密,我们有效地去除了噪声;而由于该过程是同态进行的,因此会重新引入一些噪声(但比去除的噪声更少)。需要注意的是,公开加密的私钥并不会危及安全性——自举
|
m1
c 3 自举 同态操作 加密 c3 c2 c1 |
m1
c 3 自举 同态操作 加密 c3 c2 c1 |
m1
c 3 自举 同态操作 加密 c3 c2 c1 |
m1
c 3 自举 同态操作 加密 c3 c2 c1 |
m1
c 3 自举 同态操作 加密 c3 c2 c1 |
|---|---|---|---|---|
| cn |
2015年,盖内特及其同事提出的一种方案变体对HElib(一个实现同态加密的软件库;https://github.com/shaih/HElib)进行了改进,使得在3‐GHz机器上的引导过程仅需0.61秒。相比之下,使用1024位密钥的RSA加密和解密在同一台机器上可在不到一毫秒的时间内完成。
在这里,我们遇到了另一个开放性问题:能否构建一种无噪声(因此非常高效)的同态方案?
全同态加密的未来
未来的道路不仅需要改进的技术。更快的全同态加密是有用的。显然,全同态加密在医院、金融机构、广告、咨询或定价等领域都有许多应用。全同态加密甚至可能为技术带来新的用途,例如安全地租借超级计算机时间。
但全同态加密也开启了令人兴奋的新研究大门。2013年,桑杰姆·加格和他的同事利用全同态加密构建了另一个神话般的对象:首个候选的多线性映射。本质上,多线性映射是双线性配对的推广,而双线性配对曾推动了2000年代初期基于配对的密码学革命。更准确地说,一个(对称的)κ‐多线性映射是一个非退化的映射e:κG → GT(其中G和GT是素数阶群,以加法表示,g是G的生成元),使得对于所有a₁,…,aκ ∈ ℤₚ,e(a₁·g,…, aκ·g) = (a₁···aκ)·e(g,…, g)。
尽管加格(Garg)及其同事提出的特定构造方案未能成功(其安全性不足),但它引发了一系列新的候选方案。基于全同态加密的多线性映射研究推动了新进展密码学应用;其中最主要的是首次提出的通用程序混淆方法。密码学多线性映射将彻底改变密码学的格局。
其他全同态加密(FHE)应用包括函数加密、可验证计算、安全多方计算和基于属性的加密(ABE)。让我们更仔细地看看ABE,它允许你加密消息,只有在加密时指定的一组属性匹配的人才能读取这些消息。例如,假设你在一家担心间谍活动的公司工作。该公司要求每个部门对其月度报告进行加密,以便只有财务部门的高管和首席执行官才能阅读。传统上,这意味着公司必须建立复杂的密钥交换协议并部署安全的密钥分发基础设施。如果任命了新的财务高管,将他们的公钥传输给所有员工将会非常麻烦。但使用基于属性的加密(ABE),公司可以为新的财务高管分配属性,而每个部门在解密时只需验证“(财务 AND 高管)OR 首席执行官”这一属性即可。
S o 通往安全云计算的道路仍在继续。全同态加密开辟了无限可能,随着实现和方案的不断优化,更多应用将被发现。
1062

被折叠的 条评论
为什么被折叠?



