在 Linux 上使用智能卡加密/解密文件系统容器文件

在 Linux 上使用智能卡加密/解密文件系统容器文件

我想在 debian linux 上使用 luks 和智能卡加密和解密文件系统容器文件。

该智能卡是 Nitrokey Start,它基本上是 USB 读卡器中的紧凑型智能卡。

我知道如何使用 dd、cryptsetup 和密钥文件创建和挂载容器文件。但我不知道如何使用智能卡代替密钥文件。

我读到一些资料说这是不可能的,因为你无法从智能卡中读取密钥。

那么我理解得对吗?我必须:

  • 创建一个容器
  • 生成密钥文件
  • 使用 cryptsetup 和密钥文件加密容器
  • 使用智能卡加密密钥文件
  • 删除未加密的密钥文件

每次我想要解密并挂载容器时,我都必须:

  • 使用智能卡解密密钥文件
  • 使用解密的密钥文件解密容器
  • 删除未加密的密钥文件

这是正确的吗?有没有更好的方法可以用智能卡实现 HDD(或文件系统容器)加密?

注意:我并不受 cryptsetup 和 luks 的约束,因此如果有更好的工具可以实现我的目标,请告诉我。

答案1

看起来你可以使用名为“keytocard”的 GPG 命令将外部密钥加载到 Nitrokey 上

  1. 生成密钥文件
  2. 将密钥文件复制到 Nitrokey (keytocard)
  3. 从 HDD 安全擦除密钥文件
  4. 使用 Nitrokey 上的密钥文件正常加密\解密

加密容器有很多选择,其中 VeraCrypt 是最容易使用的。

以下是 Nitrokey 的官方文档: https://www.nitrokey.com/documentation/applications#p:nitrokey-start&os:linux&a:hard-disk-encryption

如果您已经有一个使用密钥加密的容器,只需复制该容器并进行测试,如果它可以从 Nitrokey 中工作,只需安全擦除硬盘上的副本即可。现在剩下的唯一副本就在密钥上。

(你可能需要备份)

相关内容