web-dev-qa-db-ja.com

パスワードセキュリティとocl-Hashcat-plus

私は最近、ocl-Hashcat-plusの新機能について Ars Technical Article を読みました。次のような質問に照らして:

長いパスワード:それらはどのように安全ですか?

そして

XKCD#936:短い複雑なパスワード、または長い辞書のパスフレーズ?

Ocl-Hashcat-plusの新機能により、「正しい馬のバッテリーの定番」のような「フレーズ」は推測されますか?文字を大文字にして句読点を追加するのに役立ちますか(「正しい馬のバッテリーの定番」)。

2
mawcsco

[開示:私は1PasswordのメーカーであるAgileBitsで働いている。]

クレジットの期限が到来する場所にクレジットを付与するには(コミックには引用の脚注がほとんどありません)、このスキームは " Diceware "と呼ばれ、1995年に説明したArnold Reinholdにクレジットされます。

スキームにとって絶対に重要なのは、単語がリストから一様ランダムプロセスによって選択される必要があることです。 (Reinholdの計画にはサイコロの転がりが含まれていました。)人間は、特にパスワードの選択に賢くなろうとするとき、ランダムではありません。

大文字と記号(実際の質問)

今日のように、hashcatは、単語を組み合わせることによって行われる推測(Diceware = like systemsに必要)に変換(大文字と小文字の変更など)を適用するのが得意ではありません。したがって、ある意味では、これらの種類のパスワードにいくつかの記号と大文字と小文字を混在させて使用すると、hashcatにとって非常に困難になります。しかし、それはそのようなことをする愚かな理由でしょう。結局のところ、1週間前に、15文字を超えるパスフレーズを使用しただけでは、ハッシュキャシュはうまくいきませんでした。

特定のクラッキングツールの一時的な特異性に基づいてパスワード選択ポリシーを作成することは賢明ではありません。たとえば、他のパスワード解読ツール John the Ripper には、15文字の制限がなかったことを理解することが重要です。そして、これらの特異な制限は変わります。

必要な推測がいくつあったかだけ見てください

ダイスウェアリストには7776ワード(ダイスの5つのロールまたは5つのダイスの1つのロールで取得)が含まれているため、パスワードはワードあたり約12.9ビットになります。したがって、5つのWord Dicewareパスワードは約64ビットになります。 hashcatが1秒あたり300,000をチェックできた場合、5つのWordダイスウェアパスワードを解読するのに約150万年かかります。 (同じハードウェアで)hashcatが1秒間に何回推測できるかは、パスワードのハッシュ方法(ストレートハッシュ、PBKDF2、scryptなど)に大きく依存します。

私の例で毎秒300,000回の推測を選択している理由は、それが1Passwordマスターパスワード(PBKDF2-HMAC-SHA1 10000ラウンド)の一般的な形式に対して得られる数値であるためです 書いた = 4月に戻る。その記事には、Dicewareの使用に関する他の記事へのリンクとともに、より多くの数字があります(記事 Toward Better Master Passwords = XKCDコミックの直前にDicewareへの関心が復活した可能性があり、覚えておく必要があるいくつかの強力なパスワード用に変更されたDicewareシステムを提唱しています。)

hashcat文字制限

Hashcatが15文字の制限から55文字の制限に移動することは、Hashcatが機能する可能性のあるドメインに所属しないように15文字を超えるパスワードを具体的に選択した場合にのみ重要です。誰もそれをしていないことを願っています。

私が4月に書いたその記事では、私が欲しかった単純な理由で、15文字の制限(私は完全に認識していました)に勤勉に言及しませんでした (防御側の観点から)悲観的な見方をするために、クラッキング時間の見積もりは、私が一時的な制限として見たものに依存していませんでした。

5

ランダム性は気にしない

攻撃者がパスワードを「推測」しようとすると、実際には人間のユーザーの mind を入力して、そのミートバッグが何を考え出したのかを調べようとします。たとえば、攻撃者は自分に「うーん、この男は頭がいいと思っている。最初の文字を大文字にし、最後にドットを追加したのかもしれない。結局のところ、彼自身 公開Webサイト でそれを認めています。そのため、私が試すルールにこのルールを追加します。」

パスワードを扱う場合、関連する技術的概念は entropy です(物理学からのものではなく、情報理論からのもの)。大まかに言えば、それはパスワードがどれだけ「ランダム」かを示します。 「正しい馬」法を使用すると、2048語のリストから4語を取得すると、44ビットのエントロピーが得られます。44 考えられるパスワードと、それらのいずれか1つを選択する可能性はまったく同じでした。これらの状況下では、パスワードを解読するための攻撃者の平均的な労力は2になります。43 試行し、それは攻撃者がどれほど賢いかは関係ありません

これが意味することは、「エントロピー」測定は、理論的で完全なocl-Hashcat-plusソフトウェアに対する抵抗を与えるということです。それはあなたにとって最悪のケース、つまり攻撃者が「頭の中で」であり、本当にランダムな選択肢の内容を除いて、 exactly がどのようにパスワードを生成したかを知っている場合を伝えます。あなた自身のランダムな選択を予測することもできないため、攻撃者はランダムな選択を予測することはできません-少なくとも、あなたが本当にランダムな選択を行う限り、つまり頭ではなくサイコロを使用する限り。人間の脳はランダムであることでひどいです。サイコロはいいです。

したがって、新しいocl-Hashcat-plus may は「正しい馬」のようなパスフレーズを推測できますが、はできません平均して2より少ない労力でそれを行う43 試行回数適切なパスワードハッシュ が採用されている場合は、かなり多くなります)。

最初の文字を大文字に設定し、最後にドットを追加すると、役に立ちませんそうすると体系的になります-頭の中の攻撃者もあなたがそうすることを知っており、それに応じて彼のシステムを調整します。一方、 randomly が(コイン投げで)末尾にドットまたはコンマを追加することを決定した場合、攻撃者が-あなたの頭はあなたの頭の中にあり、コインの頭の中にありません。そのため、「ドット」と「コンマ」のどちらを選択したかは、1/2を超える確率ではわかりません。これにより、可能性があり、確率が等しいパスワードの数が2倍になるため、エントロピーが1ビット増えます。また、攻撃者の平均労力も2倍になります(または、必要に応じて、一定の労力で成功する可能性が半分になります)。もちろん、ランダムに選択された文字を追加することは、 remembering この特定のパスワードが余分なドットまたは余分なコンマを使用したかどうかを意味します。それは無料ではありません。あなたの記憶は、 the パスワードのビジネス全体における希少なリソースです。

4
Thomas Pornin

これは非常に簡単に説明できます。

2048ワードのリストから4つのワードを取得する場合、可能な組み合わせの数は2048 ^ 4です。

それは膨大な数のように聞こえますが、oclHashcat-plusの場合、これは怖いものではありません。

ほとんどの場合(多分10ケースの9)、Web上のパスワードは、MD5、SHA1、またはソルトが追加された、または追加されていないこれらのアルゴリズムのあいまいな混合を使用してハッシュされます。

OclHashcat-plusを使用すると、コンビネーターモード(パスフレーズ攻撃に必要)で単一のhd6990を使用して、〜60億キー/秒でこれらのハッシュをクラックできます。

簡単に説明すると、oclHashcat-plusは、3年前のGPUで1時間未満ですべての可能な組み合わせを実行します。

0
atom