Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,852 views

Published on

  • Be the first to comment

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

  1. 1. 偏執的な人の為の? NotePCセキュリティ HDD編 -小江戸らぐ1月のオフな集まり(第102回)- KenichiroMATOHARA matoken@gmail.com http://hpv.cc/~maty/ 資料 → http://goo.gl/2w2y9
  2. 2. ● 据え置きのサーバ ● ● 設置場所に行かないと触れない. NotePC ● 置き忘れや,席をたった時などに触れる. ● 本体を盗まれたりデータを盗まれる可能性.
  3. 3. PC 本体が盗まれると ● ハードディスクの内容が盗まれる ● ● /etc/passwd, /etc/shadow, ssh key, pgp key... ● ● パーミッションは役に立たない. 作成したデータ,メール等… メモリ内の情報が盗まれる ● ログオン情報,TrueCrypt 情報,暗号化ディスク情報,勿 論?Windows/Mac も. ● 気づかないことも.
  4. 4. ハードディスクの内容が盗まれるのを防ぐ ● パーミッションは役に立たない. ↓ ● 暗号化ファイルシステムを利用. ● ディスク全体を暗号化する – ● ホームディレクトリや,指定ディレクトリだけを暗号化する. – ● dm-crypt eCryptfs USB メモリや,特定の部分を暗号化する – TrueCrypt
  5. 5. dm-crypt? ● kernel 2.6.4 から ● cryptoloop から置き換えられた ● Device-mapper を利用したmount ● ● /dev/mapper/crypt0 の様な感じ.crypt0 は任意 最近のディストリビューションであればインストーラで対 応していることが多い
  6. 6. DebianSqueeze d-i RC1 での例
  7. 7. 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 と入力すること ※求められたパ スフレーズを忘れないこと/後で変更可能
  8. 8. Dm-crypt 手動設定例 ● オープン ● ● ファイルシステムを作成 ● ● umount /dev/mapper/myencryptedstuff unlock ● ● mount /dev/mapper/myencryptedstuff ~mk/cryptarea umount ● ● mkfs.ext3 /dev/mapper/myencryptedstuff mount ● ● cryptsetup luksOpen /dev/mapper/crypt0 myencryptedstuff cryptsetup luksClose myencryptedstuff mount ● mount.crypt -o cipher=aes /dev/mapper/loop0 ~mk/cryptarea ● Password: key slot 0 unlocked. ● Command successful.
  9. 9. Dm-crypt 手動設定例 ● パスフレーズの追加 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
  10. 10. Dm-crypt 手動設定例 ● 暗号化fs の確認/Key Slot0-1 に設定があることが解る ● cryptsetup luksDump /dev/mapper/mk_cryptarea --snip-- Key Slot 0: ENABLED Iterations: Salt: 18870 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: AF stripes: 8 4000 Key Slot 1: ENABLED Iterations: Salt: 19078 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: AF stripes: 136 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 を用意すると良いかもしれません.
  11. 11. linuxmania.jp のオリジナルUSB メモリにも導入済み
  12. 12. eCryptFS ● Kernel 2.6.19 から ● Ubuntu の~ の暗号化などで使われている. ● 通常のファイルシステムの上で,1ファイル,ディレクトリ毎に暗号化し ている. ● そのディレクトリへのアクセス権があれば暗号化されたファイル,ディ レクトリの存在は分かるしコピー削除等も出来る. ● ファイル自体にメタ情報を持つため細かいファイルが大量にある場合 などには実容量よりずっと大量の領域が必要になったりする. ● ファイルシステムごと暗号化をしないので,容量を気にせず手軽に利 用できる. > dm-crypt は固定
  13. 13. 暗号化されたファイルの例 ● ファイル名も内容も暗号化されている. $ file ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U-ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U--: data $ cat ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo3z4g5939yJq9YxAs0JapxHd.IOEqoeu4jBjYY2TV1U-- | od -xc | head 0000000 0000 0000 0000 3300 81db c0fc 00e7 354b 0 0 0 0 0 0 0 3 333 201 374 300 347 0 K 5 0000020 0003 0a00 0000 0010 0200 1d8c 0704 0103 003 0 0 n 0 0 020 0 0 002 214 035 004 a 003 001 0000040 1100 3322 5544 7766 7e60 945a 3cd4 4d7f 0 021 " 3 D U f w ` ~ Z 224 324 < 177 M 0000060 213a 45cd eef7 592d edb2 6216 5f08 4f43 : ! 315 E 367 356 - Y 262 355 026 b b _ C O 0000100 534e 4c4f 0045 0000 2d00 06ed f27e 0309 N S O L E 0 0 0 0 - 355 006 ~ 362 t 003
  14. 14. Ubuntu10.10 インストール時の設定画面
  15. 15. Ubuntu10.10 アカウント作成時の設定画面
  16. 16. EcryptFS のファイル名長制限 ● ファイル名も以下の様に暗号化される. ECRYPTFS_FNEK_ENCRYPTED.FWa6W.xHPLxHakQo 3z4g5939yJq9YxAs0JapzUcbPZWNdvlP1iJonoS2UE-● しかし,そのためにファイルシステムのファイル名長制限を 越えやすくなっている ● 255文字制限の環境では144byte 迄になってしまう. ● ファイル名を暗号化しないオプションを指定るることで回 避は出来る.
  17. 17. EcryptFS のファイル名長制限 ● 以下はXFS(ファイル長制限255文字)環境 ● ascii $ touch 01234567890123456789012345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890123456789012345678901 23 touch: `0123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234567890 123'にtouchできませんでした: File name too long $ touch 01234567890123456789012345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890123456789012345678901 2 $ echo '01234567890123456789012345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890123456789012345678901 2'|wc 1 1 144
  18. 18. EcryptFS のファイル名長制限 ● 日本語(UTF-8) $ touch 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお あいう' touch: `あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあ いう'にtouchできませんでした: File name too long $ touch 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお あい' $ echo 'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあ い' |wc 1 1 142 $ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお あい1 $ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお あい12 $ touch あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお あい123 touch: `あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあ い123'にtouchできませんでした: File name too long
  19. 19. EcryptFS 手動マウント ● マシンが起動しなくなったりした時などに読む方法. $ sudo mount -t ecryptfs -o ecryptfs_sig=xxxxxxxxxxxxxxxx,ecryptfs_fnek_sig=xxxxxxxxxxxxxxxx,ecryptfs_cip her=aes,ecryptfs_key_bytes=16 /home/USER/.Private /mnt Passphrase: 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=xxxxxxxxxxxxxxxx Mounted eCryptfs ※ecryptfs_sig は(/home/.ecryptfs/$USER/.ecryptfs/Private.sig の1行目 ecryptfs_fnek_sig は2行目
  20. 20. TrueCrypt ● マルチプラットホーム(Win/Mac/Linux) ● システムを暗号化することは出来ない(Win は出来る) ● ボリュームを隠すことが出来る ● 移動用にTrueCrypt の最低構成をUSB メモリに保存するモー ドがある(Windowsのみ) ● ● ● Mac/Linux でもバイナリをコピーしておくと同じことが出来 る TrueCrypt の入っていないマシンでも読める USB メモリなど持ち運びデバイスの暗号化に向いている
  21. 21. TrueCrypt の使い方 ● Slax で暗号化fs を持ち運ぶ 12 月のインストールパー ティ in 電大鳩山 (20081220) 1 月のオフな集まり 第 78 回 http://www.slideshare.net/matoken/koedo200812 20-install-party
  22. 22. それぞれの使いどころ ● dm-crypt ● ● eCryptFS ● ● OS 全ての暗号化向き ホームディレクトリの暗号化 TrueCrypt ● 持ち運びデバイスの暗号化
  23. 23. 暗号化fs の注意点 ● 暗号化を解除した状態だと当たり前ですがPC を操作できる人は誰でも操作できます. ● 目を離すときにはスクリーンロック ● スクリーンセーバ解除時にはパスワードを求めるように – 自宅のネットワークではgnome-screensaver-command でスクリーンセーバを抑制 するといったことも可能 > ● システムが遅くなりますorz ● 重要なものだけ暗号化する. ● ~/.ssh, ~/.gnupg 等うぃ暗号領域に置くなど $ ln -s CRYPTDIR/.ssh ~/.ssh $ ln -s CRYPTDIR/.gnupg ~/.gnupg ● CPU によってはaes 支援が付いているのでそういったCPU の場合はおすすめです. ● Core i / 組み込み向けのGeode 等
  24. 24. その他 ● TPM とかやってみたい…

×