cryptsetup-2.6.1

cryptsetup の概要

cryptsetup is used to set up transparent encryption of block devices using the kernel crypto API.

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

cryptsetup の依存パッケージ

必須

JSON-C-0.17, LVM2-2.03.23, and popt-1.19

任意

asciidoctor-2.0.20, libpwquality-1.4.5, argon2, libssh, passwdqc

カーネルの設定

暗号化されたブロックデバイスはカーネルサポートを必要とします。 このサポートを利用するには、カーネル設定パラメーターを適切に設定することが必要です。

Device Drivers --->
  [*] Multiple devices driver support (RAID and LVM) --->                   [MD]
    <*/M> Device mapper support                                     [BLK_DEV_DM]
    <*/M>   Crypt target support                                      [DM_CRYPT]

-*- Cryptographic API --->                                              [CRYPTO]
  Block ciphers --->
    <*/M> AES (Advanced Encryption Standard)                        [CRYPTO_AES]
    # For tests:
    <*/M> Twofish                                               [CRYPTO_TWOFISH]
  Length-preserving ciphers and modes --->
    <*/M> XTS (XOR Encrypt XOR with ciphertext stealing)            [CRYPTO_XTS]
  Hashes, digests, and MACs --->
    <*/M> SHA-224 and SHA-256                                    [CRYPTO_SHA256]
  Userspace interface --->
    <*/M> Symmetric key cipher algorithms             [CRYPTO_USER_API_SKCIPHER]

cryptsetup のインストール

以下のコマンドを実行して cryptsetup をビルドします。

./configure --prefix=/usr       \
            --disable-ssh-token \
            --disable-asciidoc  &&
make

ビルド結果をテストする場合は、root ユーザーになって make check を実行します。 カーネル設定パラメーターが適切にセットされていない場合には、失敗するテストが出てきます。 テストに必要となる追加のオプションは以下です。

CONFIG_SCSI_LOWLEVEL,
CONFIG_SCSI_DEBUG,
CONFIG_BLK_DEV_DM_BUILTIN,
CONFIG_CRYPTO_USER,
CONFIG_CRYPTO_CRYPTD,
CONFIG_CRYPTO_LRW,
CONFIG_CRYPTO_XTS,
CONFIG_CRYPTO_ESSIV,
CONFIG_CRYPTO_CRCT10DIF,
CONFIG_CRYPTO_AES_TI,
CONFIG_CRYPTO_AES_NI_INTEL,
CONFIG_CRYPTO_BLOWFISH,
CONFIG_CRYPTO_CAST5,
CONFIG_CRYPTO_SERPENT,
CONFIG_CRYPTO_SERPENT_SSE2_X86_64,
CONFIG_CRYPTO_SERPENT_AVX_X86_64,
CONFIG_CRYPTO_SERPENT_AVX2_X86_64, and
CONFIG_CRYPTO_TWOFISH_X86_64

root ユーザーになって以下を実行します。

make install

コマンド説明

--disable-ssh-token: This switch is required if the optional libssh dependency is not installed.

--disable-asciidoc: This switch disables regeneration of the man pages. Remove this switch if you have asciidoctor-2.0.20 installed and wish to regenerate the man pages.

cryptsetup の設定

Because of the number of possible configurations, setup of encrypted volumes is beyond the scope of the BLFS book. Please see the configuration guide in the cryptsetup FAQ.

パッケージ構成

インストールプログラム: cryptsetup, cryptsetup-reencrypt, integritysetup, veritysetup
インストールライブラリ: libcryptsetup.so
インストールディレクトリ: なし

概略説明

cryptsetup

is used to setup dm-crypt managed device-mapper mappings

cryptsetup-reencrypt

is a tool for offline LUKS device re-encryption

integritysetup

is a tool to manage dm-integrity (block level integrity) volumes

veritysetup

is used to configure dm-verity managed device-mapper mappings. The Device-mapper verity target provides read-only transparent integrity checking of block devices using the kernel crypto API