Version 2 (modified by atzm, 18 years ago) (diff) |
---|
cryptsetup と dm-crypt でパーティションの暗号化
概要
詳しい話は http://opentechpress.jp/kernel/04/06/09/1353250.shtml など
- device-mapper を使ってパーティションを暗号化するので,マッパーデバイスを作成する際にパスワードを求められる
# cryptsetup -y create <NAME> <DEVICE> Enter passphrase: Verify passphrase: # mount -t <TYPE> <DEVICE> <MOUNTPOINT>
- ブートプロセス中,localmount が動く前にパスワードが求められるという,Apache の mod_ssl のようなことが起こる
- swap や tmp なら /dev/urandom を鍵にしてしまえば良い (-d オプションで可能)
- 暗号化アルゴリズム
- カーネルがサポートしていればどれでもいけるのかも
- AES や Blowfish (CBC Mode も可) を使うのが一般的
- カーネルがサポートしていればどれでもいけるのかも
- パスワードハッシュ関数
- カーネルがサポートしていればどれでもいけるのかも
- MD5,SHA-1,SHA-256,SHA-512 あたりが一般的
- カーネルがサポートしていればどれでもいけるのかも
構築
- カーネル構築
Device Drivers --> RAID and LVM Support --> [*] Multiple devices driver support (RAID and LVM) <*> Device mapper support <*> Crypt target support Cryptographic Options --> <*> AES cipher algorithims
- cryptsetup インストール
# emerge sys-fs/cryptsetup
- 暗号化して利用するパーティションにマッパーデバイスをマッピング.パスワードを求められるが,初回は好きなパスワードを設定する
# cryptsetup -y create <好きなデバイス名> <デバイスの実態 (例えば /dev/hda4)>
- マッパーデバイスを通してファイルシステムを作る.これを見て分かる通り,既存ファイルシステムは破壊される
# mkreiserfs /dev/mapper/<さっきcreateしたデバイス名>
- マウントする.マウント時にはパスワードは求められない.あくまでマッパーデバイスを作るときにだけパスワードを求められることに注意
# mount /dev/mapper/<さっきcreateしたデバイス名> /mnt/point
起動時のマウント
Gentoo Linux の場合.
- /etc/conf.d/cryptfs を編集
mount=<createしたデバイス名> source='<デバイスの実態 (例えば /dev/hda4)>' options='-y'
あとは localmount あたりが何とかしてくれる. ただし起動時にパスワード入力必須.