Debian de Linux

Linux (Debian+xfce,lxde ) をインストールして使う覚書。

暗号化ファイルシステム LUKS の使い方

2007年11月25日 | sidux関連
LUKS (Linux Unified Key Setup)はLinuxの暗号化ファイルシステムの標準規格。
Debianではcryptsetupがインストールしてあれば使える。入っていないようなら # apt-get install cryptsetup

(Ubuntu系ではhashalotも必要かも…)


まず、イメージファイルを作り、それをループバックデバイスを使って、ブロックデバイスにする。(ハードディスクのパーティション等を暗号化する場合には不要。)

# dd if=/dev/zero of=luks_volume bs=1M count=100 (*1)
# losetup -f luks_volume (*2)
# losetup -a (*3)
/dev/loop0: [0812]:196734 (luks_volume)
/dev/loop/0: [0812]:196734 (luks_volume)


このループバックデバイスをLUKS形式にフォーマットする。

# cryptsetup -c aes-cbc-essiv:sha256 luksFormat /dev/loop0 (*4)

------------------------------------------------------------------------------
# cryptsetup -c aes-cbc-essiv:sha256 luksFormat /dev/loop0

WARNING!
========
This will overwrite data on /dev/loop0 irrevocably.

Are you sure? (Type uppercase yes): YES ← 大文字で YES と入力。
Enter LUKS passphrase: ← ここにパスフレーズを入力。
-------------------------------------------------------------------------------


次に、LUKS暗号化デバイスを作成する。

# cryptsetup luksOpen /dev/loop0 hogehoge
これで暗号化デバイス /dev/mapper/hogehogeが出来る。

# ls /dev/mapper
control hogehoge


暗号化デバイスにファイルシステムを作る。
# mkfs -t ext3 /dev/mapper/hogehoge
# tune2fs -c0 -i0 /dev/mapper/hogehoge


暗号化デバイスのマウント
# mkdir /mnt/luks ←/mnt に luks というマウントポイントを作る
# mount /dev/mapper/hogehoge /mnt/luks
# ls /mnt/luks
lost+found


暗号化デバイスを停止するには
# umount /mnt/luks
# cryptsetup luksClose hogehoge
# ls /dev/mapper
control
# losetup -d /dev/loop0
# losetup -a
# ←ループバックデバイスが使われていなければ、何もでない


次回から、luks_volume を使うには
# losetup -f  luks_volume
# losetup -a ←ここで luks_volume が使っているループバックデバイスを確認
# cryptsetup luksOpen /dev/loop0 hogehoge ←/dev/loop0が使われている場合
# mount /dev/mapper/hogehoge /mnt/luks


止めるのは、
# umount /mnt/luks
# cryptsetup luksClose hogehoge
# losetup -d /dev/loop0


(*1)
「luks_volume」 は自分が作るイメージファイルの名前およびその場所。
of=/luks_volume なら luks_volume というイメージファイルをルートディレクトリ上に作る。of=luks_volume なら自分のホームディレクトリに出来る(ホームディレクトリ上で打ち込んでる場合)。bsは単位で1k、1M、1Gなど。countはその作るファイルの大きさ。ここでは100なので、100Mのファイル。
(*2)
losetup -f  未使用のループバックデバイスを探して設定してくれる。
(注意) 直接、ループバックデバイスを指定することも出来るが、やらない方が良い。
# losetup /dev/loop0 luks_volume として次に # losetup /dev/loop0 test としても、警告はまったく出ない。二重に同じループバックデバイスを指定してもそのままである。
# losetup -a とやると最初に指定した方が表示されが、2つ目のは無視される。
これでそれぞれをマウントして作業すればとんでもないことになってしまう。
(*3)
losetup -a 使われてるループバックデバイスの情報を表示。何も使われてなければ、何もでない。
(*4)
普通のハードディスク上のパーティションの場合

# cryptsetup -c aes-cbc-essiv:sha256 luksFormat /dev/sdb2
(/dev/sdb2のところは実際のデバイス名を入れる。)


(参考) とういかそのまま、ありがとございました。
「暗号化ファイルシステム」 
http://memo.blogdns.net/cryptfs.html

最新の画像もっと見る

コメントを投稿