Red Hat Training

A Red Hat training course is available for RHEL 8

9.4. 使用加密密钥

您可以通过管理加密密钥来改进不提供受信任的平台模块(TPM)的系统上的系统安全性。

先决条件

  • 对于 64 位 ARM 架构和 IBM Z,载入 encrypted-keys 内核模块:

    # modprobe 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
重要

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

其它资源