ページ

2011年10月18日火曜日

古いハッシュ関数を利用しないでください! - Don't use old hash functions

このエントリーをはてなブックマークに追加






これは, 先日私が見たあるファイル(Program Files/あるディレクトリ内/あるファイル)の中身です. ここに書かれているPasswordは実際の私のPasswordではなく, もちろん隠されたデータです.
さて, これはどのようなアルゴリズムで隠されているのでしょう? 多分いくつか想像できると思います. 共通暗号鍵で暗号化しているのか, ハッシュ値なのか, 独自に発案した暗号アルゴリズムを使っているのか... etc... 注目して欲しい部分は, 見たところ256bitというところと, Passwordという短いデータを隠しているというところです.
そう, MD5ですね!! 安易に想像がつきます.

もし, このデータを何らかの方法(アプリケーションのセキュリティホール, 悪意ある実行ファイル)で盗まれた場合は一瞬で解読されます. このURLを見てください. md5.rednoize.com これはMD5, SHA-1のDatabaseです.
Password解析専門の人はおそらく独自に他のハッシュのDatabaseも持っているでしょう, したがって古いハッシュ関数を利用してはき出したハッシュ値は脆弱です.

もし, Passwordの様な短いBit列にハッシュ関数を利用するならば,
出来ればSHA-2などのより強いものを利用してください.
そして, 更に需要水準のことを考えてファイル全体を暗号化するかしないか考えてください.

また, Passwordを盗み見られては困るUserは他サイトとPasswordを共有しないことを意識してください.
これによって, 被害の拡大を防ぐことが可能です. どんなにUser側がマルウェアに対して注意していてもServer側に問題があれば直ぐにあなたの情報は盗まれてしまうので...