Menu Close
21.5. 使用可信密钥
下面的部分论述了如何使用 keyctl
实用程序创建、导出、加载或更新可信密钥来提高系统安全性。
先决条件
步骤
要使用 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 位)。
列出内核 keyring 的当前结构:
# keyctl show Session Keyring -3 --alswrv 500 500 keyring: _ses 97833714 --alswrv 500 -1 \_ keyring: _uid.1000 642500861 --alswrv 500 500 \_ trusted: kmk
要将密钥导出到用户空间 blob,请执行:
# keyctl pipe 642500861 > kmk.blob
命令使用
pipe
子命令和kmk
的序列号。要从 user-space blob 加载可信密钥,请使用
add
子命令并将 blob 用作参数:# keyctl add trusted kmk "load `cat kmk.blob`" @u 268728824
根据 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
),作为生成加密密钥的主密钥。