水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > DESの罠

DESの罠

2003年8月4日(月曜日)

DESの罠

Apache でリソースに Basic 認証をかけるときは htpasswd コマンドを使って .htpasswd ファイルを作ったりするわけですが、このときパスワードが生のまま格納されるはずもなく、ハッシュ変換されて格納されます。デフォルトでは、このハッシュ変換はシステムの crypt(3) を使用して行うようになっています (たぶん)。最近どうなのかは良く知りませんが、昔の Linux では crypt(3) のアルゴリズムは DES (もちろん 3-DES なんかではなく単なる DES) でした。そのため、オプション指定も何もなしに htpasswd コマンドで .htpasswd を作ると、たいていの場合パスワードは DES アルゴリズムでハッシュされます。

※環境によっては crypt(3) が DES ではないこともあるような気がしますけれども。FreeBSD なんか MD5 でしたっけ?

これは DES ですから、頭の 8文字しか見ていません。もう少し厳密に言うと、頭の 8文字からそれぞれ下位 7ビットを抽出した 56 ビットしか見ていません。この 56 ビットが一致すれば、生成されるハッシュ値も一致します。そのため、"test1234bakera" というパスワードと "test1234hatomaru" というパスワードは全く同じものとみなされてしまうわけです。実は別々のクライアントに同じパスワードを付与していた……などということにもなりかねません。

いずれにしても、無条件でパスワードが全桁有効になる、なんて思っていると危険な場合がありますので注意してください。

関連する話題: メモ / Web / セキュリティ

最近の日記

関わった本など