atwikiのパスワード流出について

投稿日:2019年04月14日 18時12分37秒

IT技術者でありながら、何度となくクラックされ煮え湯を飲まされている私ですが、性懲りも無く過去にはatwikiと同じようにmd5のパスワードテーブルを、そのまま保存していたことがありました。

そもそもmd5とはハッシュ値といい、ある文字列から違う文字列へのマッピングです。その計算は公開されていますが、一方向への変換であり今でも逆変換アルゴリズムはありません。

ところが今回のatwikiのパスワード流出ではmd5の値を相当解析されています。これはレインボーテーブルというアルゴリズムで、平たく言うと辞書に用いられるような文字について予めmd5を計算しておいて、それらの辞書から元のパスワードを探すというものです。所詮人間が覚えられるような文字ですから、大抵辞書に載ってる単語がパスワードであると想定されます。ですから、単一の単語の場合数十万語程度の辞書を変換しておくことで解けてしまいます。更にパスワードに用いる数値は誕生日である場合等が多いとするとその数十万の辞書を高々365倍する手間で解けてしまいます。

幾つか解析URLを載せておきます。
1a7e4c794b2799a1beca143c3cd7041d
↑これが何か分かっちゃうというのが今回の教訓です。
md5decryption.com
[browser-shot url=”https://md5decryption.com/” width=”400″]
passcracking.com
[browser-shot url=”https://passcracking.com/” width=”400″]
上のパスワードに1234を足したのが
0b91906397d3374b2d35af3c9c3e4c31
です。こっちはなんとか大丈夫そう。
なので同じくパスワードでも
1.大文字小文字を混在させる
2.必ず数値を含める
3.なるべく長くする
これが重要な事ですね。サイト作成側としては何も気にせずSHA-256とかの方式を使ってましたが、要するに策があれば対策もあるということを忘れないことですね。世の中に完全はありません。ある日量子コンピュータで数秒で解けてしまう日が来るかもしれないですし。
そんなわけで世の中には2段階認証プロセスというのが流行っています。信頼できるデバイスを使って他のデバイスを認証するわけですね。便利と安心は相反するようにもなってきていますが今後はどうなることやら。
2段階認証プロセスの説明
[browser-shot url=”https://www.google.co.jp/intl/ja/landing/2step/#tab=how-it-works” width=”400″]

[<< windows版ウェブサーバ作成]

[コンパイラの違い >>]