LUKS - 暗号化全般

暗号化全般 | IT用語集

LUKSとは

LUKS(Linux Unified Key Setup)は、Linuxにおける標準的なディスク暗号化仕様です。dm-cryptカーネルモジュールと連携し、ブロックデバイス(HDD、SSD、USBメモリなど)を透過的に暗号化します。

LUKSの主な特徴:

  • 標準化された仕様:ヘッダーフォーマットが公開されており、互換性が高い
  • 複数のパスフレーズ:最大8つのキースロットで異なるパスフレーズを設定可能
  • 堅牢なKDF:LUKS2ではArgon2idを使用し、ブルートフォース攻撃に強い
  • ヘッダーバックアップ:暗号化ヘッダーをバックアップ・復元可能

LUKSの基本操作

暗号化ボリュームの作成

# LUKS2でディスクを暗号化
sudo cryptsetup luksFormat --type luks2 /dev/sdb1

# デフォルト設定を確認
# - 暗号: AES-XTS
# - 鍵長: 512ビット(AES-256)
# - PBKDF: Argon2id

# カスタム設定で作成
sudo cryptsetup luksFormat --type luks2 \
  --cipher aes-xts-plain64 \
  --key-size 512 \
  --hash sha512 \
  --pbkdf argon2id \
  --pbkdf-memory 1048576 \
  /dev/sdb1

暗号化ボリュームのマウント

# ボリュームを開く(復号化)
sudo cryptsetup open /dev/sdb1 encrypted_volume

# ファイルシステムを作成(初回のみ)
sudo mkfs.ext4 /dev/mapper/encrypted_volume

# マウント
sudo mount /dev/mapper/encrypted_volume /mnt/secure

# アンマウントとクローズ
sudo umount /mnt/secure
sudo cryptsetup close encrypted_volume

AIエンジニアとしての実体験

機密性の高いAI学習データを保管するストレージサーバーで、LUKSによるフルディスク暗号化を導入しました。特に、個人情報を含む医療データや金融データの取り扱いでは、ディスク暗号化が規制要件となることがあります。

# 既存のLUKSボリュームの情報確認
sudo cryptsetup luksDump /dev/sdb1

# キースロットの追加(バックアップ用パスフレーズ)
sudo cryptsetup luksAddKey /dev/sdb1

# キースロットの削除
sudo cryptsetup luksRemoveKey /dev/sdb1

自動マウントの設定

# /etc/crypttab に追加
# encrypted_volume UUID=xxxx-xxxx-xxxx none luks

# /etc/fstab に追加
# /dev/mapper/encrypted_volume /mnt/secure ext4 defaults 0 2

# キーファイルを使用した自動マウント(セキュリティ注意)
dd if=/dev/urandom of=/root/keyfile bs=4096 count=1
chmod 600 /root/keyfile
sudo cryptsetup luksAddKey /dev/sdb1 /root/keyfile

# /etc/crypttab
# encrypted_volume UUID=xxxx-xxxx-xxxx /root/keyfile luks

自社サーバー運用への応用

ルートパーティションの暗号化

多くのLinuxディストリビューションは、インストール時にルートパーティションのLUKS暗号化をサポートしています。起動時にパスフレーズを入力する必要があります。

リモートサーバーでの暗号化

クラウドやデータセンターのサーバーでは、リブート時にパスフレーズを入力する仕組み(dropbear-initramfsなど)を設定することで、リモートでの復号化が可能です。

# dropbear-initramfsのインストール(Debian/Ubuntu)
sudo apt install dropbear-initramfs

# SSH鍵の設定
sudo vim /etc/dropbear-initramfs/authorized_keys

# initramfsの更新
sudo update-initramfs -u

関連ブログ記事

最新動向(2026年)

LUKS2の普及

LUKS2は2018年に導入され、現在では多くのディストリビューションでデフォルトとなっています。Argon2id KDFにより、LUKS1よりも強力なブルートフォース攻撃耐性を持ちます。

OPAL自己暗号化ドライブとの連携

SSD内蔵の暗号化機能(TCG Opal)とLUKSを組み合わせることで、パフォーマンスを犠牲にせずにセキュリティを強化できます。

トラブル事例と対策

⚠️ ヘッダー破損によるデータ損失

問題:LUKSヘッダーが破損するとすべてのデータにアクセス不能

対策cryptsetup luksHeaderBackupでヘッダーをバックアップし、安全な場所に保管

# ヘッダーバックアップ
sudo cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file luks_header_backup.img

# ヘッダー復元
sudo cryptsetup luksHeaderRestore /dev/sdb1 --header-backup-file luks_header_backup.img

⚠️ パスフレーズ忘れ

問題:すべてのキースロットのパスフレーズを忘れるとデータ復旧不可能

対策:複数のキースロットに異なるパスフレーズを設定、セキュアな場所に記録

権威あるリソース

関連用語

この用語についてもっと詳しく

LUKSに関するご質問やディスク暗号化のご相談など、お気軽にお問い合わせください。