Menu Close

21.6. 使用加密密钥

下面的部分论述了在无法使用受信任的平台模块 (TPM) 的系统中管理加密密钥以提高系统安全性。

先决条件

  • 对于 64 位 ARM 架构和 IBM Z,需要载入 encrypted-keys 内核模块。有关如何载入内核模块的更多信息,请参阅 管理内核模块

步骤

  1. 使用随机数字序列来生成用户密钥:

    # keyctl add user kmk-user "$(dd if=/dev/urandom bs=1 count=32 2>/dev/null)" @u
    427069434

    命令生成名为 kmk-user 的用户密钥,该密钥充当 主密钥,用于密封实际加密的密钥。

  2. 使用上一步中的主密钥生成加密密钥:

    # keyctl add encrypted encr-key "new user:kmk-user 32" @u
    1012412758
  3. 另外,还可列出指定用户密钥环中的所有密钥:

    # keyctl list @u
    2 keys in keyring:
    427069434: --alswrv  1000  1000 user: kmk-user
    1012412758: --alswrv  1000  1000 encrypted: encr-key
重要

请记住,未通过可信主密钥密封的加密密钥仅作为用于加密它们的用户主密钥(随机数字密钥)安全。因此,主用户密钥应该尽可能安全地加载,最好是在引导过程早期加载。

其他资源