我正在利用 cryptsetup 开发 dm-crypt。我有兴趣了解它是否使用固定的块尺寸来加密文件。
我解释得更好:我创建了一个 LUKS 信封,用 luksFormat 对其进行格式化,然后打开并安装在文件系统中。
然后我通常将文件写入该加密文件夹中。我想了解如果我写入 8 Kb 文件,dm-crypt 有可能以固定尺寸的块对其进行加密,并且万一有办法修改此块尺寸?
|-----------------------------------------------|
|+ 8Kb +|
|-----------------------------------------------|
| b1 | b2 | b3 | | | | bn |
| | | | | | | |
--------------------------------------------------
答案1
您是在谈论密码使用的块大小吗? Cryptsetup 使用分组密码,通常具有 16 字节的块大小。更改密码可能会更改块大小,请参阅/proc/crypto
可用密码和详细信息,以及man cryptsetup
。
Cryptsetup 有一个固定的块大小,512 字节,这里有一些常问问题:
2.18 4k 扇区有问题吗?
不是来自 dm-crypt 本身。加密将以 512B 块完成,但如果分区和文件系统正确对齐,并且文件系统使用 4kiB 的倍数作为块大小,则 dm-crypt 层一次只会处理 8 x 512B = 4096B,开销可以忽略不计。 LUKS 确实将数据放置在一定偏移处,默认为 2MiB,并且不会破坏对齐。有关更多详细信息,另请参阅本常见问题解答的第 6.12 项。请注意,如果您的分区或文件系统未对齐,dm-crypt 可能会使效果更糟。
5.16中也提到:
XTS 模式和大块存在潜在的安全问题。 LUKS 和 dm-crypt 始终使用 512B 块,并且该问题不适用。
可能也对这个封闭的 cryptsetup 问题感兴趣 (#150)添加 dm-crypt 支持以实现更大的加密扇区(块)大小:
chriv... 于 2013-11-07 11:32:05 发表评论:
我对此非常感兴趣。事实证明,有许多带有板载加密加速器的嵌入式系统,在使用小块时无法充分执行。例子包括 mv_cesa,如今在许多家庭 NAS 中都可以找到它(至少所有 Orion/kirkwood 板。这包括大多数 Synology 和 QNaps 产品)
Milan Broz @mbroz 5 个月前评论 - 所有者:
扇区大小选项位于内核 4.12 中,但仅(可选)在 LUKS2 中受支持。