FreeBSD ハンドブック : セキュリティ : DES, MD5, と Crypt : `crypt' メカニズムを理解する
Previous: DES, MD5, と Crypt
Next: S/KEY

6.1.1. `crypt' メカニズムを理解する

あるパスワード文字列を作るのに, DES に基づいたハッシュ関数を使っ たのか, MD5に基づいたハッシュ関数を使ったのかは非常に簡単にわかります. MD5 を使ったパスワード文字列は必ず `$1$' という文字 で始まります. DESを使ったパスワード文字列はどんな特定の文字も持っていま せんが, MD5を使ったパスワードよりも短く, `$' という文字 を持たない64文字のアルファベットで構成されています. したがって, ドル記号で 始まっていない比較的短い文字列は DES を使ったパスワードである可能性が非常 に高いです.

あなたのシステムで, どちらのライブラリが使われているかを決めるの は, スタティックにリンクされている `init' のようなもの(その ようなプログラムに対する唯一の方法はわかっているパスワードを試してみ て動くかどうかを確認することです.)を除いたほとんどのプログラムについ ては非常に簡単なことです. `crypt' を使うようなプログラムは `libcrypt' にリンクされています. そしてそれぞれのライブラリに 対する `libcrypt' は適切な実装へのシンボリックリンクとなってい ます. 例えば, DES 版を使っているようなシステムにおいては次のようになって います:

$ cd /usr/lib
$ ls -l /usr/lib/libcrypt*
lrwxr-xr-x  1 bin  bin  13 Sep  5 12:50 libcrypt.a -> libdescrypt.a
lrwxr-xr-x  1 bin  bin  18 Sep  5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
lrwxr-xr-x  1 bin  bin  15 Sep  5 12:50 libcrypt_p.a -> libdescrypt_p.a

MD5 に基づいたライブラリを使っているシステムにおいては, 同じようなリンクが 見られるでしょうが, そのターゲットは `libdescrypt' ではなく `libscrypt' になっているでしょう.


FreeBSD ハンドブック : セキュリティ : DES, MD5, と Crypt : `crypt' メカニズムを理解する
Previous: DES, MD5, と Crypt
Next: S/KEY