最近,一家名为Bitcasa的公司展示了一种云存储产品。他们表示他们将使用“融合加密”保护您的数据并删除重复数据,基本上是用户之间相同文件的一个副本。提到“融合加密”,并假设这也是它的意思。块数据用于在用户之间生成不同的密钥。

华盛顿邮报上的参考采访

评论

在这里问同样的问题:security.stackexchange.com/questions/7142/…

您应该解释一下“安全”的概念,因为根据您的定义,融合加密是安全的还是不安全的。

#1 楼

如果实施得当,它与其他任何形式的加密一样安全,可以防止不了解数据的人从加密数据中获取数据。但是,据我们所知,它确实有一个基本限制,即技术固有的限制-任何人拥有与您相同的文件,就可能证明您拥有该文件。这种算法的工作方式如下:


验证要加密的对象,以确保它适用于这种类型的加密。通常,这至少意味着文件足够长。 (例如,以这种方式加密3个字节是没有意义的。有人可以对每个3字节的组合进行琐碎的加密以创建一个反向表。)通常,仅使用专门用于此目的的功能,而不使用像SHA-1这样的通用功能。 (例如,HMAC-SHA1可以与专门选择的HMAC密钥一起使用,而不用于任何其他目的。)
此哈希称为“密钥”。使用密钥对数据进行加密(使用任何对称加密功能,例如AES-CBC)。
然后对加密的数据进行哈希处理(为此可以使用标准哈希功能)。此哈希称为“定位器”。
客户端将定位器发送到服务器以存储数据。如果服务器已经有数据,则可以根据需要增加引用计数。如果服务器没有,则客户端上载它。客户端无需将密钥发送到服务器。 (服务器可以通过简单地检查加密数据的哈希值来在不知道密钥的情况下验证定位器。)
需要访问此数据的客户端存储密钥和定位器。他们将定位器发送到服务器,以便服务器可以为其查找数据,然后使用密钥对其进行解密。此功能是100%确定性的,因此任何对相同数据进行加密的客户端都将生成相同的密钥,定位符和加密数据。


评论


$ \ begingroup $
好答案。但是,还有另一种攻击:攻击者可以猜测纯文本并测试您是否拥有该文件。例如,此攻击将泄露未经其他修改的配置文件中的密码。
$ \ endgroup $
–可以裸体
2011年9月20日上午10:16

$ \ begingroup $
谢谢。这实际上是对相同攻击进行措辞的另一种方法。但是,不同的措词确实暗示了可以利用“弱点”的其他方式。 (最明显的方法是,如果您不拥有某些东西,例如将机密材料带回家。)
$ \ endgroup $
– David Schwartz
2011-09-20 10:23

$ \ begingroup $
实际上,我意识到有一个解决该问题的简单方法:有时,系统会随机向随机选择的用户提供一组定位器(并且不会跟踪提供给谁的对象)。有时,用户会随机请求与实际上没有密钥的定位器相对应的内容。 (这会导致知道保存数据多长时间以及如何为存储计费的问题,但事实证明,这种攻击并非“完全不可避免”或“技术固有”!)
$ \ endgroup $
– David Schwartz
2011-09-20 13:25



$ \ begingroup $
如果在第3步中使用AES-CBC,则通常将使用随机初始化向量。那么整个系统并不是100%确定的。
$ \ endgroup $
– Peter Dolberg
13年2月9日在7:05

$ \ begingroup $
@DavidSchwartz:这些系统中的大多数使用固定的IV(也许全为零),因为密钥对于每个块都是唯一的。而且由于定位符是纯文本的哈希,因此可以对其进行检查以确保数据不被篡改。因此,即使他们使用CBC或CTR模式,IV或身份验证标签的存储和传输的开销也为零。
$ \ endgroup $
– rmalayter
2014年5月19日下午13:09

#2 楼

自从2006年在cypherpunks邮件列表上首次提出融合加密之后,人们就已经很长时间意识到“确认文件”攻击的危险。但是,大多数人似乎并没有意识到这种更微妙的危险“学习剩余信息”攻击(Nakedible在上面暗示的一种)。我们在Tahoe-LAFS项目中发现了后者,因为独立研究员Drew Perttula发现了问题并通知了我们,从而赢得了我们的“ Hack Tahoe-LAFS”!奖品。我写了一篇简短的文章,解释了这两种攻击之间的区别以及我们在Tahoe-LAFS中部署的可防止两种攻击的对策:

http://tahoe-lafs.org/hacktahoelafs/drew_perttula。 html

另请参阅此出版物,不幸的是该出版物没有引用Drew Perttula的结果:

Harnik-2010-“云服务中的侧通道-云存储中的重复数据删除” />

评论


$ \ begingroup $
在安全堆栈交换(security.stackexchange.com/questions/7142/…)上,我被问到有关此问题的更多解释。
$ \ endgroup $
– Zooko
2011年10月1日,下午5:24

$ \ begingroup $
有两种可能的攻击。第一个,我们称为“文件攻击的确认”,是一个显而易见的问题,即重复数据删除暴露了两个事实彼此相同的事实。当1996年在cypherpunks邮件列表中首次提出(不是该名称的)融合加密时,立即意识到并讨论了这个问题。 )
$ \ endgroup $
– Zooko
2011年10月1日5:24



$ \ begingroup $
第二种攻击,我们称为“学习剩余信息”,并不是很明显,据我所知,直到2008年Drew Perttula和Brian Warner将其发展为针对Tahoe-LAFS安全文件系统。在“学习剩余信息”攻击中,攻击者可以对较大文件的一些秘密,随机,未知部分进行猜测,然后找出其猜测之一是否正确。请在以下位置查看文章:tahoe-lafs.org/hacktahoelafs/drew_perttula.html
$ \ endgroup $
– Zooko
2011年10月1日5:25



#3 楼

有一种新的理论分析作为一种新的密码原语,由Mihir Bellare等人提供来表示消息锁定加密,以捕获收敛性加密。本文对所有现有的融合加密方案进行了建模,并给出了采用密码处理的融合加密的第一个安全性定义。它确定了对方案的两次攻击。标签一致性和强标签一致性。标签一致性意味着我无法计算file1的标签并使用该文件加密file2(重复添加附件)。强大的标签一致性(STC)意味着攻击者无法创建空文件,并且当用户尝试存储具有与空文件相同标签的文件时,它会继续存储该空文件。因此,STC可以防止擦除攻击。在确定了现有方案的弱点之后,论文通过随机化加密技术,产生了一种新的方案,即一次通过(密钥生成,标签,一次加密)。每个用户都为同一用户派生相同的标签,但是他们使用不同的密钥进行加密。将带有标签的随机密钥的异或附加到密文中,因此在解密后,一旦您知道对公共标签与特定部分进行异或,即可解密。密文以获取密钥,然后您将其解密。您可以在表格上查看第12页的RCE方案

评论


$ \ begingroup $
感谢您的链接-尽管这不是实际答案。您能否在此处添加文章摘要,以便成为答案?
$ \ endgroup $
–PaŭloEbermann
2012年11月12日19:32

$ \ begingroup $
@PaŭloEbermann,我认为这个答案是可以的。这已经是一个合理的答案:它指向研究文献中的相关工作,人们可以从中学到更多。我不知道为什么StackExchange上的所有人都陷入困境,从而使人们很难链接到外部资源。 (实际上,纸张从互联网上消失或IACR ePrint服务消失的可能性不大。)
$ \ endgroup $
– D.W.
2012年11月13日在6:41



$ \ begingroup $
@PaŭloEbermann我将根据文章尝试总结我的答案。对我来说这是一个很好的动力和锻炼:)
$ \ endgroup $
–好奇
2012年11月13日上午11:35

#4 楼

原始融合加密的一个安全问题是,它容易受到离线暴力攻击。如果对手知道整个消息空间,则可以对每条消息进行采样,计算哈希,使用计算出的哈希(密钥)进行加密,然后将采样消息的密文与目标密文进行比较。如果两者相同,则对手可以推断出采样的消息等于目标密文下面的消息。 Bellare等人已经认识到这种类型的攻击,他们在不可预测性假设(即,不允许对手预测和采样消息)下形式化了语义安全定义。以下工作DupLESS通过引入第三方实体来共同生成加密密钥来防止离线暴力攻击,即,加密密钥既取决于消息内容,又取决于系统范围内的秘密密钥,该密钥由消息保存第三方,以便外部对手(不访问第三方实体)无法发起离线暴力攻击。

融合加密的另一个(可能)弱点是,它可能容易受到统计攻击。尽管RCE方案(之前已在一个答案中进行了概述)可以生成随机密文,但消息标签必须是确定性的。 Bellare等人定义的标签一致性。要求,如果两条消息相同,则它们必须具有相同的标签。标签本质上反映了明文的概率分布。如果消息空间的最小熵有限,并且对手对消息空间的分布有一定的了解,则它可能会以很高的概率成功猜测某些消息。

#5 楼

有一个从未提及的弱点:聚合加密无法选择加密密钥,如果哈希值发生在弱加密密钥中,则加密很容易受到攻击。

评论


$ \ begingroup $
如果您的加密原语有很弱的密钥,那么请使用更好的原语。实现收敛加密拒绝某些密钥也很容易。实际上这不是一个有效的问题。
$ \ endgroup $
– CodesInChaos
2012年12月2日,18:31



$ \ begingroup $
以这种方式获得弱密钥的可能性很小(除非您的加密算法被破坏得很厉害)。最好担心在同一小时内两次被雷击...或担心宇宙射线在加密计算过程中可能会导致位翻转错误,并导致您的机密被意外地以明文形式打印。
$ \ endgroup $
– D.W.
2012年12月3日,9:18

#6 楼

收敛加密的加密密钥是固定的,似乎在需要更改加密密钥的情况下存在问题,例如撤销访问权限。例如我授予某人访问权限,包含加密密钥的数字信封已发送给他,但是我发现我错误地授予了错误的人访问权限,我想撤销该访问权限。如果系统可以更改加密密钥,则可以在该家伙检索文件之前通过更改加密密钥来实现撤消访问权限,但是聚合加密不适用于此目的。

另一个可能的问题是:表示融合加密只能使用ECB加密,这比CBC弱。

评论


$ \ begingroup $
您能为最后一句话提供参考吗?我不确定您的意思,但是融合加密当然不需要使用ECB(就算是CBC,任何操作方式都可以)。
$ \ endgroup $
–托马斯
2012年12月3日,6:13

$ \ begingroup $
使用收敛加密存储数据时,使用加密数据的哈希值作为定位符,这一事实要求使用相同的加密密钥对相同的纯文本进行加密才能获得相同的加密数据,因此需要ECB。
$ \ endgroup $
– Alex
2012年12月3日7:33



$ \ begingroup $
您正在将确定性操作模式与确定性加密相混淆。您可以使用相同的密钥和IV用CBC加密相同的明文,并且您将获得相同的密文。 ECB / CBC / etc。与它无关。
$ \ endgroup $
–托马斯
2012年12月3日,7:41

$ \ begingroup $
Tahoe LAFS在CTR模式下使用AES融合加密。因此,您的最后一句话显然是错误的。它只是从明文的哈希(以及收敛的秘密)中确定性地导出密钥和IV。
$ \ endgroup $
– CodesInChaos
2012年12月3日9:40



$ \ begingroup $
我提出的第一个问题怎么样?这是一个真正的问题吗?@CodesInChaos @Thomas我的最后一句话不准确,对此感到抱歉。我说的是,如果加密算法启用相同的明文和相同的加密密钥获得不同的超级文本,则加密将更难以受到攻击。如果使用具有相同IV的CTR / CBC,则加密效果会稍差一些。
$ \ endgroup $
– Alex
2012年12月4日在22:45