Qubes OS
Z
信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
Qubes OS のディスク暗号化とパスフレーズ管理
Qubes OSが使うLUKS2フルディスク暗号化の仕組み、安全なパスフレーズの選び方、LUKS鍵スロットの管理、ヘッダーバックアップまで解説します。
一言結論
Qubes OSのLUKS2フルディスク暗号化は/bootを除く全データを保護するが、パスフレーズが弱ければ意味がないためDiceware方式の20文字以上を使い、LUKSヘッダーを別メディアにバックアップしておくことが不可欠だ。
Qubes OS のフルディスク暗号化
Qubes OS はインストール時に LUKS2(Linux Unified Key Setup) によるフルディスク暗号化を提供します。
暗号化されるのは:
- すべての AppVM のデータ
- テンプレートVM のファイルシステム
- dom0 のデータ
暗号化されないのは:
/bootパーティション(カーネルやブートローダー)
起動時の暗号化解除
PC 起動
↓
BIOS/UEFI
↓
Grub(/boot から読み込む)
↓
パスフレーズ入力プロンプト
↓
LUKS ヘッダーを使って復号
↓
LVM
├── dom0 ルートパーティション
└── qubes プール(全VMのデータ)
強力なパスフレーズの選び方
推奨:
- 長さ: 20文字以上
- 方式: パスフレーズ(ランダムな単語の組み合わせ)またはランダムな文字列
# 良い例(Diceware方式: 6単語以上)
correct-horse-battery-staple-coffee-moon
# より強力(ランダム文字列)
K7#mP2nR@qX9vL4
# 悪い例
password123
myname2026
覚え方:
- パスワードマネージャー(KeePassXC など)の vault VM に保存
- または紙に書いて物理的に安全な場所に保管
LUKS の確認コマンド
dom0 ターミナルで実行:
# LUKS デバイスの情報確認
sudo cryptsetup luksDump /dev/sda2
# または
sudo cryptsetup luksDump /dev/nvme0n1p2
# アクティブなDMデバイスの確認
ls /dev/mapper/
# qubes_dom0-root などが表示される
鍵スロットの管理
LUKS は最大32個(LUKS2)の鍵スロットを持ちます。それぞれに異なるパスフレーズを設定できます。
# 現在の鍵スロット確認
sudo cryptsetup luksDump /dev/sda2 | grep -A 5 "Keyslots"
# 新しいパスフレーズを追加(スロット1)
# ※バックアップ用や緊急用のパスフレーズ
sudo cryptsetup luksAddKey /dev/sda2
# 既存のパスフレーズを入力後、新しいパスフレーズを設定
# パスフレーズを変更(スロット0)
sudo cryptsetup luksChangeKey /dev/sda2
# スロットを削除
sudo cryptsetup luksKillSlot /dev/sda2 1 # スロット1を削除
LUKS ヘッダーのバックアップ
LUKS ヘッダーが壊れると、暗号化されたデータは完全に失われます。 ヘッダーのバックアップは必須です。
# ヘッダーのバックアップ
sudo cryptsetup luksHeaderBackup /dev/sda2 \
--header-backup-file /tmp/luks-header.bin
# バックアップを別の安全なメディアにコピー
qvm-copy /tmp/luks-header.bin
# → vault VM などオフラインのVMに保管
# ヘッダーの復元(破損した場合)
sudo cryptsetup luksHeaderRestore /dev/sda2 \
--header-backup-file /path/to/luks-header.bin
Intel Boot Guard / Secure Boot との関係
Qubes OS はデフォルトでは Secure Boot をサポートしていません(対応作業中)。
Secure Boot なしでも:
- フルディスク暗号化はブート後のデータ保護
- ブートローダーの改ざん検知は別の仕組みが必要(Anti Evil Maid)
Anti Evil Maid(AEM)
物理的なアクセスを持つ攻撃者が Grub やカーネルを改ざんするEvil Maid攻撃を検知する仕組みです。
# dom0 で Anti-Evil-Maid をインストール
sudo qubes-dom0-update anti-evil-maid
sudo anti-evil-maid-install /dev/sdb # USBデバイス
AEM は TPM チップが必要です。
パスフレーズを忘れた場合
残念ながら、LUKS のパスフレーズを忘れてすべての鍵スロットにアクセスできなくなった場合、データの復号は実質不可能です。
これが「強力な暗号化」の意味です。
予防策:
- パスフレーズを複数の鍵スロットに登録しておく
- ヘッダーバックアップを取る
- パスフレーズを安全な場所に記録しておく
暗号化の強度
LUKS2 のデフォルト設定:
- アルゴリズム: AES-256-XTS
- 鍵導出関数: Argon2id(強力なKDF)
Argon2id はブルートフォース攻撃に非常に強く、GPU でも高速に攻撃できません。
まとめ
| 作業 | タイミング |
|---|---|
| LUKS ヘッダーのバックアップ | インストール直後 |
| バックアップパスフレーズの設定 | インストール後 |
| パスフレーズの定期変更 | セキュリティポリシーに応じて |
| ヘッダーバックアップの更新 | パスフレーズ変更後 |
ディスク暗号化はQubes OSのセキュリティの根幹です。デバイスを紛失した場合でもデータを守ります。