首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含相同文件的相同密码酶的多个加密容器是否存在密码风险?

包含相同文件的相同密码酶的多个加密容器是否存在密码风险?
EN

Security用户
提问于 2018-12-01 17:48:12
回答 4查看 741关注 0票数 2

情况如下:

  • 让我们假设两个(或更多)容器,使用相同的密码进行加密。
  • 它们将包含相同的文件。所以它们的内容是相同的。
  • 然而,容器本身并不是相同的文件--它们不是复制的,而是从头开始单独创建的,然后填充内容。
  • 攻击者将同时访问(或更多)加密的容器文件。
  • 攻击者将不知道内容本身。
  • 但是,攻击者将知道每个容器中的内容是相同的。

这会降低容器的整体密码安全性吗?

我觉得有一个漏洞,但我不知道如何进一步搜索。

(这是一个普遍的问题,容器可能来自VeraCrypt /LUKS或VeraCrypt,甚至是加密的ZIP存档。)

EN

回答 4

Security用户

发布于 2018-12-20 12:07:50

大多数现代(对称和公开密钥)加密方案被认为具有(至少)IND安全性。这是“在选定的明文攻击下的不可分辨性”,并由密码游戏定义。

在游戏中,在设置加密方案后,对手选择两个明文消息(m0,m1),并对随机选择的消息mb (对于一些随机b)的相应密文进行精简,使得对手无法区分密文对应的明文消息。敌手可以多次重复这个过程:在收到其中一个明文的密文后,他们可以选择另外两个明文消息(m0‘和m1')并接收mb’的密文。在收到计算数量有限的密文后,对手必须猜出b的值。为了使该方案具有IND安全,对手正确猜测b的概率必须不大于1/2。

此游戏适用于您的设置,因为对手不限于在每次请求期间选择不同的消息。因此,即使m0在每个请求期间保持不变,在IND安全的方案中,对手在猜测b时也没有优势。

这通常是可能的,因为加密方案添加了一个随机性元素:大多数RSA填充插入具有一些随机性,而对称方案使用IVs (对于在同一密钥下加密的每个相同的明文,这一点必须更改--这一点在您的场景中可能值得注意)。

票数 2
EN

Security用户

发布于 2018-12-21 00:28:55

任何设计成加密容器的文件都不会因为在其中放置多个已知的相同文件而被削弱。这种情况经常发生:想想看,当您在磁盘加密上安装操作系统时,可能会有数千个大小相同的文件。所以.地窖/陆克司,Veracrypt绝对安全。另一方面,我不知道细节(我希望它使用IV),但我不相信这样的事情。

它还取决于实现: LUKS和Veracrypt都是加密的,每个实现都有一个,可能还有几个兼容的产品。对于pkzip,有数以千计的实现在使用中。其中一个确实存在漏洞,而且可能是您正在使用的漏洞。但这是实现细节,假设您使用的是一个密码容器,一些聪明人检查了设计和代码。

它没有被削弱的原因有两个:

  • 他们使用一个所谓的初始化向量(花哨的单词,大致意思是“以某种方式混合随机数据”),这使得每种加密都是唯一的。如果您有二十亿个具有相同文件的容器(每个容器都是独立生成的),并且攻击者可以访问所有这些文件,那么二十亿和第一个容器(2000000001)同样具有唯一的加密,攻击者无法真正告诉有关它的任何信息。
  • 任何当前接受的加密算法都不允许密钥恢复:给定明文和密文,您不能以任何方式导出密钥。最近有人问这个问题,因为他有一个数据库的纯文本和密文,但是丢失了密码,他们想解密另一个用同样的密码加密的数据库。它是加密的,我们不能为他们做任何事。

攻击者可以知道一些事情:例如,它的大小。或者,如果攻击者能够观察到连续的版本,他们就可以观察到有多少变化。如果这是一种支付系统,攻击者可能能够根据更改的频率和大小了解该系统的购买次数。但是,如果没有其他容器的访问,这些东西都是你无法说出来的。

此外,大多数设置都不使用密码加密数据。他们用你的密码加密加密密钥。所以你用随机生成的K1加密数据,用密码加密K1。解锁数据时,使用密码解密K1,K1解密数据。这有几个优点,一个很容易解释的例子是,如果更改密码,只需使用新密码重新加密K1,而不必重新加密所有数据。因此,密码是相同的,甚至可能并不意味着加密密钥实际上是相同的。但是,即使是这样,仍然有上述两个属性使其安全。(攻击者也不应该知道K1是在不同的容器中用相同的密码加密的,前提是K1被正确加密(使用初始化向量)。)

票数 2
EN

Security用户

发布于 2018-12-01 18:30:36

如果我正确理解了这个问题,这或多或少就是我对备份所做的事情:它们都是用相同的密码加密的。

根据中情局三合会的说法,数据的安全取决于:

  • 保密性
  • 完整性
  • 可用性

如果所有档案都是相同的,也就是说,它们包含相同的数据,并且使用相同的密码加密方法,那么机密性就不是问题。如果攻击者设法读取容器A中的数据,那么他们已经知道了容器B、C等中包含的所有数据。拥有不同的密码无助于保密。即使加密方法不同,最弱的一个可能比另一个更容易受到攻击,泄露所有的数据,因此为其他档案设置不同的密码也于事无补。

至于完整性(和可用性),这将是一个问题。因为所有档案都有相同的密码,如果攻击者找到一个档案的密码,他们将能够访问所有其他档案,并损坏或删除所有档案。如果您对每个存档使用不同的密码,则如果攻击者找到一个密码,他们将能够读取所有数据,并可能损坏存档(完全丢失机密性),但不会损坏所有档案(完全丢失完整性或可用性,而没有留下良好的数据副本!)。

正如我说过的,我在所有备份中都使用相同的密码,但我通过将一些副本存储在场外来减轻对完整性和可用性的影响。攻击者需要知道这些位置,并能够在那里进行物理访问,老实说,在我的威胁模型中我甚至没有考虑到这一点。我更担心的是自然灾害摧毁了一个地方(这就是我的场外备份的实际原因)。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/198895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档