Red Hat Training

A Red Hat training course is available for RHEL 8

9.3. 信頼できる鍵での作業

keyctl ユーティリティーを使用して、信頼できる鍵を作成、エクスポート、ロード、更新することにより、システムのセキュリティーを向上できます。

前提条件

注記

Red Hat Enterprise Linux 8 は、TPM 1.2 と TPM 2.0 の両方をサポートしています。TPM 1.2 を使用する場合は、手順 1 をスキップします。

手順

  1. 次のユーティリティーのいずれかを使用して、永続ハンドル (たとえば、81000001) を持つ SHA-256 プライマリーストレージキーを使用して 2048 ビット RSA キーを作成します。

    1. tss2 パッケージを使用する場合:

      # TPM_DEVICE=/dev/tpm0 tsscreateprimary -hi o -st
      Handle 80000000
      # TPM_DEVICE=/dev/tpm0 tssevictcontrol -hi o -ho 80000000 -hp 81000001
    2. tpm2-tools パッケージを使用する場合:

      # tpm2_createprimary --key-algorithm=rsa2048 --key-context=key.ctxt
      name-alg:
        value: sha256
        raw: 0xb
      …
      sym-keybits: 128
      rsa: xxxxxx…
      
      # tpm2_evictcontrol -c key.ctxt 0x81000001
      persistentHandle: 0x81000001
      action: persisted
  2. 信頼できるキーを作成します。

    1. keyctl add trusted <NAME> "new <KEY_LENGTH> keyhandle=<PERSISTENT-HANDLE> [options]" <KEYRING> の構文の TPM 2.0 を使用します。この例では、永続ハンドルは 81000001 です。

      # keyctl add trusted kmk "new 32 keyhandle=0x81000001" @u
      642500861

      このコマンドは、kmk という名前の信頼できる鍵を 32 バイト (256 ビット) の長さで作成し、ユーザーキーリング (@u) に配置します。鍵の長さは 32 から 128 バイト (256 から 1024 ビット) です。

    2. keyctl add trusted <NAME> "new <KEY_LENGTH>" <KEYRING> の構文の TPM 1.2 を使用します。

      # keyctl add trusted kmk "new 32" @u
  3. カーネルキーリングの現在の構造を一覧表示します。

    # keyctl show
    Session Keyring
           -3 --alswrv    500   500  keyring: ses 97833714 --alswrv 500 -1 \ keyring: uid.1000 642500861 --alswrv 500 500 \ trusted: kmk
  4. 信頼できる鍵のシリアル番号を使用して、鍵をユーザー空間のブロブにエクスポートします。

    # keyctl pipe 642500861 > kmk.blob

    このコマンドは、pipe サブコマンドと kmk のシリアル番号を使用します。

  5. ユーザー空間のブロブから信頼できる鍵をロードします。

    # keyctl add trusted kmk "load `cat kmk.blob`" @u
    268728824
  6. TPM で保護された信頼できる鍵 (kmk) を使用するセキュアな暗号化鍵を作成します。keyctl add encrypted <NAME> "new FORMAT <KEY_TYPE>:<PRIMARY_KEY_NAME> <KEY_LENGTH>" <KEYRING> という構文に従います。

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