web-dev-qa-db-ja.com

辞書から任意に選択された単語で構成されるパスワードはどのくらい強力ですか?

ダイスウェアは、実際にランダムに選択することを望んでいますn与えられたセットから単語をm = 65単語。

ユーザーが実際にサイコロを使用しないと仮定します。代わりに、それらはmワードの物理辞書を取り、「ランダムに」-nワードを選択します。

どういうわけか、ランダム性の低下がどれほど大きいかを定量化できますか?

例えば、私は彼らが辞書の最初からも、辞書の最後からも単語を選ぶことはないと思います。辞書ページの下部または上部からWordを選択することもありません。非常によく、これはワードセットを、たとえばメートル/4

ダイスウェアが私たちをm = 6のセットに制限することは、ここでは無視できると思います5単語物理辞書はm = 100k単語を納得させることができますが、ダイスウェアは100k単語を含めるように簡単に変更できるためです。

3
gaazkam

私の答えのほとんどすべては、この論文の結果に対する私自身の解釈に基づいています。

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0041531

(別名、私は人間の脳がどのように機能するかについての専門家ではなく、大量の研究を行っていません)。最も重要な詳細から始めて、質問に答えます

現実的な状況下では、結果として得られるパスワードは、ダイスで生成されたものと同じくらい推測が難しいでしょう。

ここに(IMO)関連する詳細があります:

  1. 人々は実際には乱数を作るのが苦手で、以下のパターンに従う傾向があります。
  2. ただし、人によってパターンはまったく異なり、特定の個人がたどるパターンは、自分が生成した長いランダムなシーケンスを最初に観察しないとわかりません。
  3. したがって、特定の人のパスワードを簡単に推測できるようにするには、特定の人のパスワードを知るために、最初に多数のパスワードを生成するように依頼する必要があります"パターン"
  4. したがって、特定の個人のパスワードを推測する可能性を高めるために必要なデータを取得することは、ソーシャルエンジニアリング攻撃を1回行うだけで済み、おそらく ゴムホース暗号解読 よりもはるかに効果的ではありません。

専用の調査なしにエントロピーの減少を推定することは困難ですが、エントロピーの損失はおそらく非常に小さいです。

リンクされた研究では、乱数のシーケンス(合計600の数字)を人々に作成させました。それらの数字の半分を使用して、彼らはシーケンスの残りの半分の数字を推測するモデルを作成しようとしました。シーケンスの最初の数を予測する能力は、ランダムな推測とそれほど変わらなかった。しかし、「シーケンス」が始まると、シーケンス内の次の数値を正しく推測する確率は約25%でプラトーになりました。

ベースラインの場合、10%の確率でシーケンスの次の数を推測します。ばかげてナイーブな結論を出したい場合、これは、優れたモデルが成功の可能性を約2倍改善する可能性があることを示唆しています。これを最初の数値に適用することは、エントロピーが83ビットのエントロピー(log2(100000**5))から82ビットのエントロピー(log2(0.5*(10000**5)))に変わったことを意味します。言うまでもないことですが、その違いはほとんど無視できます。

もちろん、数字を推測する状況は、辞書の単語の推測には直接当てはまりません。私は個人的に、辞書の単語を推測するための優れたモデルは、数字の推測で経験するよりもランダム性の改善がはるかに小さいと思います。ただし、人間の脳は非常に複雑で、私はこれについて特別な調査を行わずに答えを推測する能力に自信がありません。

3
Conor Mancone

すべては、ユーザーが単語を「ランダムに」選択する方法を要約したものです。

そして主な問題は、ユーザーが物事を理解していないか、悪い選択をしていることです。

最初から最後のページやページ上の単語を実際に破棄する必要はありません。これは、辞書から最初の4語をパスワードとして選択したユーザーなど、非常に悪い慣行を禁止する場合に、IMHOでほとんど役立ちます。

実際、ランダムな単語を考え出そうとするユーザーは、上部または下部が「ランダムではない」ように見えるため、ページの中央にある単語を選択する可能性が高いと仮定します(実際には同じ確率で選択されます)。同様に、ユーザーは一般的な単語よりもあまり知られていない単語を選択する傾向があります。

このページは、おそらく「本をランダムに開く」ことによって作成されます。これにより、別の要因として、本の劣化と特定のページを開く可能性が高くなります。

サイコロを使用することの利点は、最初のランダム性が公平になることです。パスワードのシードとして、1〜6個のランダムな値の公平なジェネレーターがあると想定しています。

サイコロを使用せず、ユーザーがページと単語をランダムに選択できるようにすることで、エントロピーが低下することがわかります(大きな辞書を使用して対抗しようとします)が、実際には「どのくらい」ではありません。

辞書を開いてページを読み取る前に、ユーザーが選択するエントリまたはページをアプリオリに選択させるなど、ユーザーをより中立にしようとするいくつかのトリックがありますが、初期の問題は解決しません。

notでサイコロを使用する理由を一歩下がって具体化することをお勧めします。おそらく、何度もそれを転がすことは問題がありますか?ダイスウェアのリストは信頼できないと思いますか?あなたは実際に利用可能なサイコロを持っていないのですか?

サイコロを使用する代わりに、次のことをお勧めします。

  • 10枚のカードに0〜9の数字を書き込む
  • それらを混合し、それらの1つを選択します。カードを保存します。 3回繰り返します。
  • 前のステップで抽出した番号の辞書のページにアクセスします(辞書のページ数がそれより少ない場合は、そのページ番号を破棄して、3つの値の抽出を再開します)。
  • カードを混ぜて、いくつかの数字を抽出します。その番号のページのエントリを選択します(それより少ない場合は、最初からやり直します。ページに50のエントリしかない場合は、0-9ではなく0-4の最初の番号を選択できます)。

ここでは、サイコロの転がりをカードの選択に置き換えます。これも単純なモデルであり、特定の辞書を開いて失うランダム性の量を決定するのとは異なります。

0
Ángel