10.6. LUKS2 を使用した空のブロックデバイスの暗号化

空のブロックデバイスを暗号化できます。これは、LUKS2 形式を使用して暗号化されたストレージに使用できます。

前提条件

  • 空のブロックデバイス。lsblk などのコマンドを使用して、そのデバイスに実際のデータがないかどうかを確認できます(例:ファイルシステム)。

手順

  1. 暗号化した LUKS パーティションとしてパーティションを設定します。

    # cryptsetup luksFormat /dev/nvme0n1p1
    
    WARNING!
    ========
    This will overwrite data on /dev/nvme0n1p1 irrevocably.
    Are you sure? (Type 'yes' in capital letters): YES
    Enter passphrase for /dev/nvme0n1p1:
    Verify passphrase:
  2. 暗号化した LUKS パーティションを開きます。

    # cryptsetup open dev/nvme0n1p1 nvme0n1p1_encrypted
    
    Enter passphrase for /dev/nvme0n1p1:

    これにより、パーティションのロックが解除され、デバイスマッパーを使用して新しいデバイスにマッピングされます。このコマンドは、暗号化されたデータを上書きしないように、/dev/mapper/device_mapped_nameパスを使用して、デバイスが暗号化されたデバイス であり、LUKS でアドレス指定されていることをカーネルに警告します。

  3. 暗号化されたデータをパーティションに書き込むファイルシステムを作成します。このパーティションには、デバイスがマップされた名前を介してアクセスする必要があります。

    # mkfs -t ext4 /dev/mapper/nvme0n1p1_encrypted
  4. デバイスをマウントします。

    # mount /dev/mapper/nvme0n1p1_encrypted mount-point

検証

  1. 空のブロックデバイスが暗号化されているかどうかを確認します。

    # cryptsetup luksDump /dev/nvme0n1p1
    
    LUKS header information
    Version:       	2
    Epoch:         	3
    Metadata area: 	16384 [bytes]
    Keyslots area: 	16744448 [bytes]
    UUID:          	34ce4870-ffdf-467c-9a9e-345a53ed8a25
    Label:         	(no label)
    Subsystem:     	(no subsystem)
    Flags:       	(no flags)
    
    Data segments:
      0: crypt
    	offset: 16777216 [bytes]
    	length: (whole device)
    	cipher: aes-xts-plain64
    	sector: 512 [bytes]
    [...]
  2. 暗号化された空のブロックデバイスのステータスを表示します。

    # cryptsetup status nvme0n1p1_encrypted
    
    /dev/mapper/nvme0n1p1_encrypted is active and is in use.
      type:    LUKS2
      cipher:  aes-xts-plain64
      keysize: 512 bits
      key location: keyring
      device:  /dev/nvme0n1p1
      sector size:  512
      offset:  32768 sectors
      size:    20938752 sectors
      mode:    read/write

関連情報

  • cryptsetup (8)cryptsetup-open (8)、および cryptsetup-lusFormat (8)の man ページ