水無月ばけらのえび日記

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 / セキュリティ

人気のページ

最近の日記

関わった本など

デザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)友井町バスターズ (富士見ファンタジア文庫)

その他サイト