X 次解密尝试失败后自动粉碎 LUKS 分区?

X 次解密尝试失败后自动粉碎 LUKS 分区?

是否可以设置一个引导加载程序,在尝试解密分区失败时自动开始粉碎 header.img 文件,然后粉碎加密分区本身?

如果这还不存在——是否有可能在不进行大量工作的情况下创建任何此类软件?

干杯,

答案1

是(对于您自己的引导加载程序/initramfs)和否(对于试图从 Live CD 解密它的小偷,从而绕过您的陷阱)。所以问题是,你想在这里涵盖哪种情况......

从安全角度来看,这不是一个好主意,因为它不起作用,并且无论如何密码都不可能被暴力破解。此外,您自己触发陷阱的风险也很高。

输入密码时完全有可能出错。我最喜欢的是大写锁定键,不小心按下它而没有注意到(因为密码没有回显)并且......在你的情况下它会爆炸。

为了实现它,您必须查看您的发行版的 initramfs 风格是否有钩子系统或类似系统。正常的 cryptsetup 调用可能如下所示:

cryptsetup -T 5 luksOpen /dev/sda1 luksroot

要诱杀它,你可以简单地执行以下操作:

cryptsetup -T 5 luksOpen /dev/sda1 luksroot || boobytrap

陷阱是一种功能,可以删除你的东西,同时让小偷忙个不停。除此之外,您必须绝对检查 cryptsetup 的错误代码;所以你不会因为错误的参数或类似的事情而删除。检查RETURN CODES联机帮助页中的部分。

伪代码:(未经测试且不推荐)

boobytrap() {
    if [ $? -eq 2 ]
    then
        # kill the disk silently in the background...
        dd bs=1M if=/dev/zero of=/dev/sda1 seek=2 2> /dev/null &
        # ...while keeping the thief busy entering more passwords
        cryptsetup -T 9999 luksOpen /dev/sda1 luksroot \
        && echo Congrats, but I already deleted your data...
    fi
}

我希望你有一个好的备份。

答案2

快速浏览一下我的 Debian“wheezy”系统表明,完全有可能在do_luks位于 shell 脚本库中的函数中插入这样的陷阱/lib/cryptsetup/cryptdisks.functions,该函数是从/etc/init.d/cryptdisks-early.

更改代码后,需要运行update-initramfs以确保初始启动磁盘映像也已更新。

我的 Debian“jessie”系统也有这些文件,但我还没有确认它们是否真的在这个勇敢的新世界中使用systemd

相关内容