我决定用 LUKS+LVM 加密我的根分区。
我的 ThinkPad 设置:
但是我读得越多,我对以下两个主题的了解就越少:
由于cryptsetup
FAQ中的引用,我打算使用 SHA1 而不是 2/512(如某些人建议的那样):
5.20 LUKS 坏了!它使用 SHA-1!
不它不是。SHA-1(学术上)因发现冲突而被破坏,但不能在密钥派生函数中使用它。并且该碰撞漏洞仅供非迭代使用。并且您需要逐字逐句的哈希值。
这基本上意味着,如果您已经有一个插槽密钥,并且您已将 PBKDF2 迭代计数设置为 1(通常 > 10'000),您可以(也许)派生出不同的密码短语,为您提供相同的插槽 -钥匙。但是如果你有槽钥匙,你就可以解锁钥匙槽并获得万能钥匙,打破一切。所以基本上,这个 SHA-1 漏洞允许你在已经打开一个 LUKS 容器的情况下,费力地打开它。
这里真正的问题是人们不了解加密,并声称某些东西被破坏了只是因为使用了某些已被破坏用于特定不同用途的机制。该机制的使用方式非常重要。一次使用而被破坏的散列对于其他用途来说是完全安全的,这就是它。
我读为“除了 SHA-1 之外,没有任何意义”。但后来有人告诉我,事实并非如此。所以我不再知道该怎么想了。
此外,我找不到任何信息,一旦磁盘解锁并登录系统,密码是否对磁盘读/写/搜索性能有任何影响。
那么密码的复杂性是只影响密码输入阶段的“性能”,还是系统正常使用时的“性能”呢?
这几天我一直在阅读这个,但我读得越多,我就越困惑。我读到的一切都说 AES 是最快的,而 Serpent 是最慢的。但不是根据我的笔记本电脑:
$ cryptsetup benchmark
Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 344926 iterations per second
PBKDF2-sha256 198593 iterations per second …
Run Code Online (Sandbox Code Playgroud) 我一直在阅读
OnCalendar=
Run Code Online (Sandbox Code Playgroud)
可悲的是,除了定义一周中的一天之外,我没有找到关于如何在一天安排活动的信息,这将使它每周都在最稀有的情况下运行。
我需要它每 14 天运行一次。并在指定的时间(例如,凌晨 4 点)。这可以用 systemd 实现吗?