24
偏執的な人の為の? 偏執的な人の為の? NotePCセキュリティ HDD編 NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)- -小江戸らぐ1月のオフな集まり(第102回)- KenichiroMATOHARA [email protected] KenichiroMATOHARA [email protected] http://hpv.cc/~maty/ http://hpv.cc/~maty/ 資料 → http://goo.gl/2w2y9

偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Embed Size (px)

Citation preview

Page 1: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

偏執的な人の為の?偏執的な人の為の?NotePCセキュリティ HDD編NotePCセキュリティ HDD編

-小江戸らぐ1月のオフな集まり(第102回)--小江戸らぐ1月のオフな集まり(第102回)-

[email protected]@gmail.comhttp://hpv.cc/~maty/http://hpv.cc/~maty/

資料 → http://goo.gl/2w2y9

Page 2: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

● 据え置きのサーバ● 設置場所に行かないと触れない.

● NotePC● 置き忘れや,席をたった時などに触れる.● 本体を盗まれたりデータを盗まれる可能性.

Page 3: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

PC 本体が盗まれると

● ハードディスクの内容が盗まれる● パーミッションは役に立たない.● /etc/passwd, /etc/shadow, ssh key, pgp key...● 作成したデータ,メール等…

● メモリ内の情報が盗まれる● ログオン情報,TrueCrypt 情報,暗号化ディスク情報,勿

論?Windows/Mac も.● 気づかないことも.

Page 4: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

ハードディスクの内容が盗まれるのを防ぐ

● パーミッションは役に立たない.

↓● 暗号化ファイルシステムを利用.

● ディスク全体を暗号化する

– dm-crypt● ホームディレクトリや,指定ディレクトリだけを暗号化する.

– eCryptfs● USB メモリや,特定の部分を暗号化する

– TrueCrypt

Page 5: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

dm-crypt?

● kernel 2.6.4 から● cryptoloop から置き換えられた● Device-mapper を利用したmount

● /dev/mapper/crypt0 の様な感じ.crypt0 は任意● 最近のディストリビューションであればインストーラで対

応していることが多い

Page 6: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

DebianSqueeze d-i RC1 での例

Page 7: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Dm-crypt 手動設定例

● 暗号化ファイルの作成例 1GB のimageを作成

dd if=/dev/zero of=./crypt bs=1M count=1024● /crypt を/dev/loop0 に関連付け。

sudo losetup /dev/loop0 ./crypt● Device mapper(crypt0)に関連づけ

● cryptsetup luksFormat /dev/mapper/crypt0● 暗号化

● cryptsetup luksFormat /dev/mapper/crypt0

※このときの確認メッセージは大文字でYES と入力すること ※求められたパスフレーズを忘れないこと/後で変更可能

Page 8: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Dm-crypt 手動設定例● オープン

● cryptsetup luksOpen /dev/mapper/crypt0 myencryptedstuff● ファイルシステムを作成

● mkfs.ext3 /dev/mapper/myencryptedstuff● mount

● mount /dev/mapper/myencryptedstuff ~mk/cryptarea● umount

● umount /dev/mapper/myencryptedstuff● unlock

● cryptsetup luksClose myencryptedstuff● mount

● mount.crypt -o cipher=aes /dev/mapper/loop0 ~mk/cryptarea● Password: key slot 0 unlocked.● Command successful.

Page 9: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

● パスフレーズの追加cryptsetup luksAddKey /dev/mapper/mk_cryptarea

Enter any LUKS passphrase:key slot 0 unlocked.

Enter new passphrase for key slot:

Verify passphrase:Command successful.

※key slot 0~6 迄7つまで設定できる.● パスフレーズの削除/1 のKey Slot 削除.

cryptsetup luksDelKey /dev/hoge 1

Dm-crypt 手動設定例

Page 10: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Dm-crypt 手動設定例● 暗号化fs の確認/Key Slot0-1 に設定があることが解る

● cryptsetup luksDump /dev/mapper/mk_cryptarea--snip--

Key Slot 0: ENABLED

Iterations: 18870

Salt: 22 1b 6e 8b 2b 64 90 2f e9 25 84 48 6e 2f 48 b4

0e c2 1c 93 fa f3 a7 53 d9 12 05 96 80 d7 9c 13

Key material offset: 8

AF stripes: 4000

Key Slot 1: ENABLED

Iterations: 19078

Salt: 62 df c8 cb 91 29 89 85 46 48 fe 85 3f 3b db 04

1d b7 6b d1 80 5a 4b f9 0e 0c 39 9f ba 1d 48 ca

Key material offset: 136

AF stripes: 4000

Key Slot 2: DISABLED

Key Slot 3: DISABLED

Key Slot 4: DISABLED

Key Slot 5: DISABLED

Key Slot 6: DISABLED

Key Slot 7: DISABLED普段使いのKeyslot と忘れたとき用のKeyslot を用意すると良いかもしれません.

Page 11: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

linuxmania.jp のオリジナルUSB メモリにも導入済み

Page 12: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

eCryptFS

● Kernel 2.6.19 から● Ubuntu の~ の暗号化などで使われている.● 通常のファイルシステムの上で,1ファイル,ディレクトリ毎に暗号化し

ている.● そのディレクトリへのアクセス権があれば暗号化されたファイル,ディ

レクトリの存在は分かるしコピー削除等も出来る.● ファイル自体にメタ情報を持つため細かいファイルが大量にある場合

などには実容量よりずっと大量の領域が必要になったりする.● ファイルシステムごと暗号化をしないので,容量を気にせず手軽に利

用できる. > dm-crypt は固定

Page 13: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

暗号化されたファイルの例

● ファイル名も内容も暗号化されている.$ fileECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U--

ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U--:data

$ catECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U-- |od -xc | head0000000 0000 0000 0000 3300 81db c0fc 00e7 354b \0 \0 \0 \0 \0 \0 \0 3 333 201 374 300 347 \0 K 50000020 0003 0a00 0000 0010 0200 1d8c 0704 0103 003 \0 \0 \n \0 \0 020 \0 \0 002 214 035 004 \a 003 0010000040 1100 3322 5544 7766 7e60 945a 3cd4 4d7f \0 021 " 3 D U f w ` ~ Z 224 324 < 177 M0000060 213a 45cd eef7 592d edb2 6216 5f08 4f43 : ! 315 E 367 356 - Y 262 355 026 b \b _ C O0000100 534e 4c4f 0045 0000 2d00 06ed f27e 0309 N S O L E \0 \0 \0 \0 - 355 006 ~ 362 \t 003

Page 14: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Ubuntu10.10 インストール時の設定画面

Page 15: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

Ubuntu10.10 アカウント作成時の設定画面

Page 16: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

EcryptFS のファイル名長制限

● ファイル名も以下の様に暗号化される.

ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapzUcbPZWNdvlP1iJonoS2UE--● しかし,そのためにファイルシステムのファイル名長制限を

越えやすくなっている● 255文字制限の環境では144byte 迄になってしまう.● ファイル名を暗号化しないオプションを指定るることで回

避は出来る.

Page 17: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

EcryptFS のファイル名長制限● 以下はXFS(ファイル長制限255文字)環境

● ascii

$ touch012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123touch:`012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123'にtouchできませんでした: File name too long

$ touch01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012

$ echo'01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012'|wc 1 1 144

Page 18: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

EcryptFS のファイル名長制限● 日本語(UTF-8)

$ touch 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう'touch: `あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいう'にtouchできませんでした: File name too long

$ touch 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい'

$ echo 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい' |wc 1 1 142

$ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい1

$ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい12

$ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい123touch: `あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあい123'にtouchできませんでした: File name too long

Page 19: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

EcryptFS 手動マウント● マシンが起動しなくなったりした時などに読む方法.

$ sudo mount -t ecryptfs -oecryptfs_sig=xxxxxxxxxxxxxxxx,ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx,ecryptfs_cipher=aes,ecryptfs_key_bytes=16 /home/USER/.Private /mntPassphrase:Enable plaintext passthrough (y/n) [n]:Attempting to mount with the following options: ecryptfs_unlink_sigs ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx ecryptfs_key_bytes=16 ecryptfs_cipher=aes ecryptfs_sig=xxxxxxxxxxxxxxxxMounted eCryptfs

※ecryptfs_sig は(/home/.ecryptfs/$USER/.ecryptfs/Private.sig の1行目ecryptfs_fnek_sig は2行目

Page 20: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

TrueCrypt

● マルチプラットホーム(Win/Mac/Linux)● システムを暗号化することは出来ない(Win は出来る)● ボリュームを隠すことが出来る● 移動用にTrueCrypt の最低構成をUSB メモリに保存するモー

ドがある(Windowsのみ)● Mac/Linux でもバイナリをコピーしておくと同じことが出来

る● TrueCrypt の入っていないマシンでも読める

● USB メモリなど持ち運びデバイスの暗号化に向いている

Page 21: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

TrueCrypt の使い方

● Slax で暗号化fs を持ち運ぶ 12 月のインストールパーティ in 電大鳩山 (20081220) 1 月のオフな集まり 第78 回

http://www.slideshare.net/matoken/koedo20081220-install-partyhttp://www.slideshare.net/matoken/koedo20081220-install-party

Page 22: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

それぞれの使いどころ

● dm-crypt● OS 全ての暗号化向き

● eCryptFS● ホームディレクトリの暗号化

● TrueCrypt● 持ち運びデバイスの暗号化

Page 23: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

暗号化fs の注意点● 暗号化を解除した状態だと当たり前ですがPC を操作できる人は誰でも操作できます.

● 目を離すときにはスクリーンロック● スクリーンセーバ解除時にはパスワードを求めるように

– 自宅のネットワークではgnome-screensaver-command でスクリーンセーバを抑制するといったことも可能 >

● システムが遅くなりますorz● 重要なものだけ暗号化する.

● ~/.ssh, ~/.gnupg 等うぃ暗号領域に置くなど

$ ln -s CRYPTDIR/.ssh ~/.ssh

$ ln -s CRYPTDIR/.gnupg ~/.gnupg● CPU によってはaes 支援が付いているのでそういったCPU の場合はおすすめです.

● Core i / 組み込み向けのGeode 等

Page 24: 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)-

その他

● TPM とかやってみたい…