8月 182013
 

ずいぶん前、それは多分 pgp2.6 辺りが流行っていたころだと記憶していた頃に聞いた話ですが、フランスでは民間人の暗号化された情報のやりとりは禁止されている。ってことらしいですが、それが本当の話か、はたまた全然間違いだったのか? というのは確認してないので定かではないのですが、そんな話を耳にしたことがあります。

最近の出来事としてはマルウェアだかトロイの木馬だかで情報がごっそり、特定のサーバに送られてしまう。なんて話も聞きますが、FreeBSD は安心さー。みたいな感じで。あぁ、確かに利用者数からしても Linux や Solaris よりは圧倒的に少ないとは思うのですけどね。それでも Mac OSX でも最近はちらほらと話は聞くので、 ID やパスワードを書いたテキストファイルをデスクトップに置いといてもちょっとアレですね。

と、いうことで、そーいう重要なファイルなどは暗号化して持っていることにしましょう。と、いうのが今回のエントリの趣旨です。

利用するのは openssl で暗号化形式は des3。 パスワードとか住所とか書かれているファイルを普段は暗号化して持っていましょう。って感じでちょっとスクリプトを書いてみました。

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin/:/usr/local/bin
export PATH

desfile=`echo "${HOME}/.data/Encryption_txt.des3"`
orgfile=`echo "${HOME}/.data/Encryption_txt"`
oldfile=`echo "${HOME}/.data/Encryption_txt~"`

case $1 in
'-d' )
    if [ -f $orgfile ]; then
	openssl des3 -salt -in $orgfile -out $desfile
	if [ -f $oldfile ]; then
	    /bin/rm -f $oldfile
	fi
	if [ -f $desfile ]; then
	    /bin/rm -f $orgfile
	fi
    else
        echo "$orgfile is not found.";echo ""
    fi

    ;;
'-u' )
    if [ -f $desfile ]; then
	openssl des3 -d -salt -in $desfile > $orgfile
    else
	echo "$desfile is not found.";echo ""
    fi
    ;;
* )
    echo "usage : Encryption.sh { -d(des) | -u(undess) }"
    ;;
esac

exit 1;

 
こんな感じでどうでしょうかねぇ?

色々人に見られたくない情報が書かれたファイルは ${HOME}/.data/Encryption_txt というヤツです。
上記のスクリプトを例えば Encryption.sh という名で保存してオプションに -d を指定すると openssl des3 で暗号化するためにパススレーズを二回入力します。

Encryption_txt と、いうファイルは ${HOME}/.data/Encryption_txt.des3 という名で保存されます。その時、 emacs で編集していれば ${HOME}/.data/Encryption_txt~ ファイルは削除します。

解凍するときは -u オプションを指定してパスフレーズを入れると解凍されます。

これで個人情報はそこそこ守れるかな?

あとは逆に、辞書攻撃しかけて des3 の強度と CPU パワーの確認。なんてのにも使えそうです;-)。

まぁ、気休めかもしれませんが、ベタなテキストファイルで持っているよりは『安心』と、いうことで。

もし、上記スクリプトを利用して大切な情報がどうか(ファイル自体が消えたり、あっという間に解読されたとかその他諸々)なっても僕は一切責任を持ちませんので自己責任でお願いします。

ちなみに動作的には FreeBSD と Mac OSX で確認しています。僕は Linux はデスクトップでは利用してないので;-)。