暗号化ファイルシステムの理解と構築


目次

🔐 はじめに

暗号化ファイルシステムは、データの保存段階での機密性を確保するための技術です。LinuC 303では、ブロックデバイス全体の暗号化から、ディレクトリ単位の暗号化まで、実際の設定手法やツールに精通していることが求められます。本章では、LUKSやeCryptfsを中心に、Linuxで使われる代表的な暗号化ファイルシステムについて詳細に解説します。


🔸 1. 暗号化ファイルシステムとは?

暗号化ファイルシステムとは、保存データを暗号化することで、不正アクセス時の情報漏洩を防ぐ仕組みです。大きく分けて以下の2種類があります。

種類説明
ブロックデバイス暗号化ディスク全体を暗号化する。LUKS/dm-cryptが代表的。
ファイル単位暗号化特定のファイル/ディレクトリを暗号化。eCryptfsなど。

🔸 2. dm-cryptとLUKSによるブロックデバイスの暗号化

🔹 dm-cryptとは?

Linux カーネルの機能で、ブロックデバイスレベルでの暗号化を実現するフレームワークです。dm-cryptはLUKS(Linux Unified Key Setup)と組み合わせて使われることが一般的です。

🔹 LUKSとは?

LUKSは、パスフレーズ管理やメタデータの標準化により、複数ユーザーでの使用やバックアップの容易化を実現した暗号化方式です。

🔹 cryptsetupコマンド

cryptsetupは、LUKSデバイスの作成・開封・削除に使います。

✅ 基本的な手順

# 空のパーティション/dev/sdb1をLUKSで初期化
sudo cryptsetup luksFormat /dev/sdb1

# 暗号化デバイスを開く(/dev/mapper/securediskとして使用)
sudo cryptsetup luksOpen /dev/sdb1 securedisk

# ファイルシステムの作成とマウント
sudo mkfs.ext4 /dev/mapper/securedisk
sudo mount /dev/mapper/securedisk /mnt/secure

🔹 /etc/crypttab での永続化設定

securedisk UUID=XXXX-YYYY none luks

🔸 3. eCryptfsによるディレクトリ暗号化

🔹 eCryptfsとは?

eCryptfsは、ディレクトリやファイル単位で暗号化することができるスタック型ファイルシステムです。Ubuntuでは、かつてデフォルトのホームディレクトリ暗号化方式として採用されていました。

🔹 基本的なマウント方法

sudo mount -t ecryptfs /home/user/.Private /home/user/Private

対話的にパスフレーズや暗号化方式の選択を求められます。

🔹 自動マウント(PAMとの連携)

pam_ecryptfs.so モジュールを使うことで、ログイン時にホームディレクトリを自動的に復号することができます。

# ユーザーに対してeCryptfsを有効化
ecryptfs-setup-private

🔹 ecryptfsdとecryptfs-utils

  • ecryptfsd: デーモンプロセス。ファイル暗号化・復号を管理。
  • ecryptfs-*: 暗号化ファイル管理の補助コマンド(例:ecryptfs-migrate-home

🔸 4. その他の暗号化方式

🔹 plain dm-crypt

LUKSを使わず、シンプルにパスフレーズで暗号化する方式です。鍵管理機能がなく、柔軟性に欠けますが軽量です。

sudo cryptsetup open --type plain /dev/sdb1 plaintext

🔹 EncFS

FUSEベースの暗号化ファイルシステムで、1ファイル1ファイルを個別に暗号化します。現在は保守が停滞しており、新規採用は推奨されていません。

encfs ~/Encrypted ~/Decrypted

🗂 まとめ表:主なコマンドとファイル

ツール/ファイル役割
cryptsetupdm-crypt/LUKSの設定・管理
/etc/crypttab永続的に暗号化ボリュームをマウントする設定
mount.ecryptfseCryptfsの手動マウント
pam_ecryptfs.soPAMとの連携による自動復号
ecryptfs-setup-privateユーザーごとのeCryptfs設定
encfsユーザースペースでのファイル単位暗号化

✅ 章末問題(四択)

問題1

dm-crypt + LUKSの組み合わせに関する説明として正しいものはどれか?

A. eCryptfsよりも柔軟性があるが、速度は遅い
B. ファイル単位で暗号化できる
C. LUKSはdm-cryptの拡張で、複数の鍵管理に対応している
D. LUKSを使うと鍵ファイルの利用はできない

解説

正解:C

LUKSはdm-cryptのフロントエンドであり、複数の鍵スロットを持つのが特徴です。


問題2

eCryptfsの特徴として誤っているものはどれか?

A. PAMと統合してホームディレクトリを自動復号できる
B. ディレクトリ単位の暗号化が可能である
C. LUKSの上位レイヤーとして機能する
D. mount.ecryptfsコマンドを使ってマウントできる

解説
正解:C

eCryptfsはdm-cryptとは無関係に、ファイルシステムレベルで動作します。


問題3

以下のうち、/etc/crypttabに関係する説明として適切なのはどれか?

A. 暗号化されたファイルの一覧を保持する
B. システム起動時に暗号化ボリュームをマウントするための設定ファイル
C. PAMの設定ファイルの一部
D. 鍵ファイルの暗号方式を定義するファイル

解説
正解:B

/etc/crypttab は、起動時に暗号化ボリュームを自動でマウントするために使用されます。


問題4

EncFSについて正しい説明はどれか?

A. カーネルモジュールを用いたブロックデバイス暗号化方式
B. LUKSの前提条件となるツール
C. FUSEベースのファイル単位暗号化ツール
D. ディスク全体を暗号化する手法である

解説
正解:C

EncFSはFUSEユーザースペースで動作する暗号化ファイルシステムです。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次