systemd-cryptenroll
関連記事
- systemd-cryptenroll は、ハードウェアセキュリティトークンとデバイスを LUKS2 暗号化ボリュームに登録するためのツールです。これは、ブート中にボリュームのロックを解除するために使用できます。
systemd-cryptenroll を使用すると、スマートカード、FIDO2 トークン、および Trusted Platform Module セキュリティチップを LUKS デバイスに登録できるだけでなく、通常のパスフレーズも登録できます。これらのデバイスは、登録されたトークンを使用して、後で systemd-cryptsetup@.service(8) によってロック解除されます。
目次
インストール
systemd-cryptenroll は、systemd の一部であり、パッケージ化されています。ただし、ハードウェアデバイスをキーとして使用するには、追加のパッケージが必要です。
- PKCS#11 トークンを使用するには、libp11-kit を インストール します。
- FIDO2 トークンを使用するには、libfido2 をインストールします。
- TPM2 デバイスを使用するには、tpm2-tss をインストールします。
キースロットのリスト
systemd-cryptenroll は、cryptsetup luksDump
と同様に、LUKS デバイス内のキースロットをリストできますが、よりユーザーフレンドリーな形式です。
# systemd-cryptenroll /dev/disk
SLOT TYPE 0 password 1 tpm2
キースロットの消去
# systemd-cryptenroll /dev/disk --wipe-slot=SLOT
SLOT には次の値を指定できます。
- キースロットのインデックス。
- そのタイプのキースロットはすべて消去されます。有効なタイプは
empty
,password
,recovery
,pkcs11
,fido2
,tpm2
です。 - カンマで区切られた上記のすべての組み合わせ
- 文字列
all
は、デバイス上のすべてのキースロットを消去します。このオプションは、別のデバイスまたはパスフレーズを同時に登録する場合にのみ使用できます。
--wipe-slot
操作はすべての登録オプションと組み合わせて使用でき、既存のデバイス登録を更新するのに役立ちます。
# systemd-cryptenroll /dev/disk --wipe-slot=fido2 --fido2-device=auto
パスフレーズの登録
通常のパスワード
これは、cryptsetup luksAddKey
と同等です。
# systemd-cryptenroll /dev/disk --password
回復キー
- 回復キーはパスフレーズとほとんど同じですが、人間が選択するのではなくコンピューターによって生成されるため、高いエントロピーが保証されています。キーは入力しやすい文字セットを使用しており、QR コードを介して画面外からスキャンすることもできます。
回復キーは、ハードウェアトークンが利用できない場合にフォールバックとして使用されるように設計されており、必要なときにいつでも通常のパスフレーズの代わりに使用できます。
# systemd-cryptenroll /dev/disk --recovery-key
ハードウェアデバイスの登録
--type-device
オプションは、それぞれのタイプの有効なデバイスパスを指定する必要があります。使用可能なデバイスのリストは、このオプションに list
引数を渡すことで取得できます。あるいは、目的のタイプのデバイスが 1 つだけ接続されている場合は、auto
オプションを使用してそれを自動的に選択できます。
ハードウェアトークンを LUKS ボリュームに登録した後、必要に応じてハードウェア トークンを使用するようにシステムを構成する必要があります。ルートファイルシステムなど、初期のユーザー空間でロックを解除する必要があるボリュームについては dm-crypt/システム設定#Trusted Platform Module と FIDO2 鍵 を参照し、その他のボリュームについては dm-crypt/システム設定#後期ユーザ空間でロックを解除する を参照してください。パーティション。
PKCS#11 トークンまたはスマートカード
トークンまたはスマートカードには、ボリュームのロックを解除するために使用される生成されたキーの暗号化に使用される RSA キーペアが含まれている必要があります。
# systemd-cryptenroll /dev/disk --pkcs11-token-uri=device
FIDO2 トークン
"hmac-secret" 拡張機能をサポートする FIDO2 トークンは、systemd-cryptenroll で使用できます。
# systemd-cryptenroll /dev/disk --fido2-device=device
さらに、systemd-cryptenroll は、トークンの組み込み検証機能の使用をサポートしています。
--fido2-with-client-pin
は、ロック解除前にPINを要求するかどうかを定義する。--fido2-with-user-presence
は、ロックを解除する前にユーザの存在を確認するかどうか (トークンをタップするなど) を定義する。--fido2-with-user-verification
は、ロック解除前にユーザ認証を要求するかどうかを定義します。
信頼できるプラットフォームモジュール
# systemd-cryptenroll /dev/disk --tpm2-device=device
デフォルトでは、TPM を登録するとキーが PCR7 にバインドされ、セキュアブート 状態が測定されます。--tpm2-pcrs
オプションを使用すると、キーがバインドされる PCR を変更できます。+
記号で区切ることにより、複数の PCR を同時に使用できます。PCR とその測定内容の完全なリストは、Trusted Platform Module#Accessing PCR registers で入手できます。
PIN を使用して TPM を歌う
TPM 測定チェックに加えて、PIN の入力を要求することもできます。TPM デバイスの登録時にオプション --tpm2-with-pin=yes
を追加し、要求されたら PIN を入力します。systemd-cryptenroll ではこれを PIN と呼びますが、任意の文字を使用できます。