PCのメールのバックアップを取って、圧縮かけて、サーバの home に置いて、他人にメールを読まれないように暗号化したいなぁと思って。
まず、Outlook Express のメールバックアップ。
[ツール]メニュー →[オプション] → [メンテナンス]タブの[保存フォルダ]に表示されるフォルダをコピーして、そのフォルダを丸ごと ZIP で圧縮して保存。
これでバックアップ完了。
これを scp でサーバへコピー。
圧縮は済みなので、暗号化だけをしたい。
誰かに渡すわけでもないし、手軽に暗号化したいので、共有鍵暗号がいい。
公開鍵暗号は鍵作ったりめんどくさいし:-(
GnuPGのgpgコマンドで共有鍵暗号使えました。
$ gpg -c backup.zip
-c オプションでファイルを暗号化してくれます。公開鍵は不要。
コマンド実行後にパスフレーズを2回聞かれるので入力。
暗号化されたファイルを復号する時にも入力します。
このまま実行すると、ファイルを暗号化した上に、ZLIB を使って圧縮もしてくれます。
既に圧縮済みのファイルを暗号化したいだけなので、gpg での圧縮は要らない。
そこで、--compress-level オプションを使用。
$ gpg -c --compress-level 0 backup.zip
--compress-level で 0 (ゼロ)を指定すると、圧縮をしないようにできます。
これで実行し、パスフレーズを入力して暗号化が終わると、ファイルの拡張子が .gpg になります。
$ ls
backup.zip
backup.zip.gpg
暗号化前のファイルはそのまま残っているので、rm コマンドで削除。
暗号化されたファイルの中を見てもさっぱり分かりません。
これで安心(^-^)
デフォルトでは CAST5 アルゴリズムで暗号化されます。
オプションで使用するアルゴリズムを変えられます。
どんなアルゴリズムに対応しているか見るには、--version オプションでコマンドを実行してみると分かります。
$ gpg --version
gpg (GnuPG) 1.4.5
Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
暗号化されたファイルを復号したい時は、ファイルを指定してオプションなしで gpg コマンドを実行するだけ。
$ gpg backup.zip.gpg
パスフレーズを聞かれるので、暗号化する時に入力したパスフレーズを入力。
これで復号されたファイルが作成されます。
尚、最初に実行したときに、自分のホームディレクトリに自動的に下記ファイルが作成されます。
~/.gnupg
~/.gnupg/gpg.conf
~/.gnupg/pubring.gpg
~/.gnupg/random_seed
