今年初め、約6.5万人のLinkedInアカウントのパスワードハッシュがハッカーのフォーラムに公開されました。 ハッシュは、LinkedInバックエンドインフラストラクチャに格納されているように、ユーザーのパスワードから計算された単純なSHA1ダイジェストでした。

ハッカーがそれらをクラックし始めるのに時間はかからず、その半分以上がほとんど時間がないうちにクラックされました。

このような高速クラッキングが可能であった主な理由は二つあります:

*SHA1関数自体の使用法
*高速Gpu

両方を見てみましょう。

SHA1関数は主に弱い関数MD5を置き換えるために設計されました。 それは速くなるために作成され、確かにそれはあります。 AMD/ATI7970グラフィックカードでは、”hashcat”(https://hashcat.net/oclhashcat-plus/を参照)は毎秒二十億のSHA1ハッシュを少し計算します。 これは多くの組合せが非常に短い時間にテストすることができることを意味する。

この”問題”を克服するために、Ubuntuや最近のバージョンのFedora Core Linuxで使用されているsha512crypt関数のような、現代的でより安全なアルゴリズムが存在します。 毎秒20億のハッシュの代わりに、同じGPUカードは毎秒12,000sha512cryptの組み合わせを少しだけクラックします。 たとえば、10億個のsha512cryptの組み合わせをチェックするのには約24時間かかりますが、SHA1では1秒未満です。

今日の高速Gpuのため、セキュリティに関しては複雑なパスワードを選択することが良いアドバイスです。:

*大文字と小文字の両方の文字を含む
*少なくとも一つのスペース文字を含む
*数字を含む
*次のようないくつかの記号を含む!@#
*それは既知の単語に基づいていません
*サイズは少なくとも12文字ですが、私が知っている人の多くは、サイズが20〜50文字のパスフレーズを使用しています。 これは、あなたのパスワードハッシュが漏洩した場合でも、誰もそれを解読しないことはまずありません良いアドバイスです。

私は古いHotmailアカウントにログインしようとしたとき、今日の私の驚きを想像して、次のようになりました:

Microsoftアカウントのパスワードには、最大16文字を使用できます。 16文字を超えるパスワードを使用している場合は、最初の16文字を入力します。

Microsoftアカウントのパスワードには、最大16文字を使用できます。
16文字を超えるパスワードを使用している場合は、最初の16文字を入力します。

私の以前のパスワードのサイズは約30文字でしたが、今はもう動作しません。 しかし、私は最初の16文字だけを入力してログインすることができました。

この制限はよく知られています(Graham Cluleyのさまざまなサービスのパスワード制限に関する優れた投稿を参照)しかし、私の注意を引いたのは、パスワードを16

古いパスワードでこのトリックを引っ張るために、Microsoftは二つの選択肢を持っていました:

*自分のdbに完全な平文のパスワードを保存します。
の最初の16文字のみを比較します*最初の16文字のみのハッシュを計算します; 残りの部分を無視する

オンラインサービスの平文パスワードを保存することは、セキュリティ上の明確なノーノーです。 他の選択肢は、創業以来、Hotmailがパスワードの最初の16文字のみを静かに使用していたことを意味する可能性があります。

正直、どっちが悪いかわからない。

PS:私の先生は、常に前向きに考え、楽観的なメモで終わらせようと言っていました。 だからここに行く:”GMailのためのGoogleに感謝”。

コメントを残す

メールアドレスが公開されることはありません。