首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >普通模式下dm-密密钥重用的安全性?

普通模式下dm-密密钥重用的安全性?
EN

Unix & Linux用户
提问于 2018-09-07 22:25:37
回答 1查看 437关注 0票数 3

从密码分析的角度来看,在密码aes-xts-plain64的dm-crypt平原模式中,对于不同的卷重用相同的密钥是否存在安全缺陷?

代码语言:javascript
复制
# Example: Encrypt two volumes with the same key

cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2

我只考虑一些实际情况,比如,用相同的密钥加密不到100卷。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-09-07 23:40:34

嗯,这不是安全stackexchange,我也不是密码学专家,但从表面上看:

爱丽丝未加密:

代码语言:javascript
复制
00000000  48 65 6c 6c 6f 20 6d 79  20 6e 61 6d 65 20 69 73  |Hello my name is|
00000010  20 41 6c 69 63 65 0a 00  00 00 00 00 00 00 00 00  | Alice..........|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

鲍比未加密:

代码语言:javascript
复制
00000000  48 65 6c 6c 6f 20 6d 79  20 6e 61 6d 65 20 69 73  |Hello my name is|
00000010  20 42 6f 62 62 79 0a 00  00 00 00 00 00 00 00 00  | Bobby..........|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

两者都使用相同的(主)密钥aes-xts-平原64加密:

代码语言:javascript
复制
Alice000  8f 04 35 fc 9f cb 5d c8  af da ae 78 cd e5 64 3d  |..5...]....x..d=|
Bobby000  8f 04 35 fc 9f cb 5d c8  af da ae 78 cd e5 64 3d  |..5...]....x..d=|
Alice010  4f d3 99 77 7b c1 2c 8d  ff 9b 4d 55 da a3 9b e2  |O..w{.,...MU....|
Bobby010  12 d6 ad 17 74 50 4d 08  8c 38 22 40 98 a7 14 99  |....tPM..8"@....|
Alice020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
Bobby020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

因此,仅仅从外观上看,一个问题是相同的偏移量和明文(对于每个16字节块)导致相同的密文。如果明文不同,密文也不一样。在某些情况下,这可能比揭示自由空间更有启发性。

另一个问题是,您可以将密文从一个驱动器复制到另一个驱动器,并将其解密到有意义的数据--但在错误的驱动器上。通常,如果你处理密文,当你解密的时候你得到的只是随机垃圾,但是重复使用masterkey只会给你提供更多有效的密文来处理。

所以,完全是人为的例子,如果你有一个用户不知道密钥,但以某种方式可以访问存储在这个系统上的文件,并且能够将密文从一个驱动器复制到另一个驱动器--通常是不可能的,但让我们假设它是这样的。他们可以编写一个满是胡说八道的大文件,找出这个文件在磁盘上的分配位置,然后从其他驱动器复制数据。然后在读取数据的文件时,看到另一个驱动器是明文的。

总之,当每个磁盘都很容易使用唯一的键时,这只是不必要的头痛。即使您从共享主键中派生出该密钥,也可以使用散列函数或其他方法。尽管也没有理由这么做。您可以使用多个密钥文件,也可以使用--keyfile-offset--keyfile-size选项从单个文件中读取多个键。

卢克斯应该能帮你避免各种陷阱。除非您有意克隆标题,否则它总是对每个容器使用不同的随机主密钥,即使您对它们使用相同的密码短语。

还有一点关于你选择密码的注意事项,aes-xts-plain64。这曾经被称为aes-xts-plain。一切都很好直到超过2 2TiB的设备出现..。在aes-xts-plain中,密文重复每个2TiB,这与重用同一个主密钥基本上是同一个问题。

这是用aes-xts-plain64修复的,但是一些博客/维基仍然推荐旧的,或者旧的容器和新的硬盘一起保存和生长,所以有些人最终使用错误的一个到今天.

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

https://unix.stackexchange.com/questions/467636

复制
相关文章

相似问题

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