Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

30.5. 使用可信密钥

下面的部分论述了如何使用 keyctl 实用程序创建、导出、加载或更新可信密钥来提高系统安全性。

先决条件

流程

  1. 要使用 TPM 创建可信密钥,请执行:

    # keyctl add trusted <name> "new <key_length> [options]" <key_ring>
    • 根据语法,构建如下示例命令:

      # keyctl add trusted kmk "new 32" @u
      642500861

      命令创建一个名为 kmk 的可信密钥,长度为 32 字节(256 位),并将其放置在用户密钥环 (@u) 中。密钥长度为 32 到 128 字节(256 到 1024 位)。

  2. 列出内核 keyring 的当前结构:

    # keyctl show
    Session Keyring
           -3 --alswrv    500   500  keyring: ses 97833714 --alswrv 500 -1 \ keyring: uid.1000 642500861 --alswrv 500 500 \ trusted: kmk
  3. 要将密钥导出到用户空间 blob,请执行:

    # keyctl pipe 642500861 > kmk.blob

    命令使用 pipe 子命令和 kmk 的序列号。

  4. 要从 user-space blob 加载可信密钥,请使用 add 子命令并将 blob 用作参数:

    # keyctl add trusted kmk "load `cat kmk.blob`" @u
    268728824
  5. 根据 TPMsealed 可信密钥创建安全加密密钥:

    # keyctl add encrypted <pass:quotes[name]> "new [format] <pass:quotes[key_type]>:<pass:quotes[primary_key_name]> <pass:quotes[keylength]>" <pass:quotes[key_ring]>
    • 根据语法,使用已创建的可信密钥生成加密密钥:

      # keyctl add encrypted encr-key "new trusted:kmk 32" @u
      159771175

      命令使用上一步中生成的 TPM 密封可信密钥 (kmk),作为生成加密密钥的主密钥