web-dev-qa-db-ja.com

パスフレーズのスペースは本当にセキュリティ/エントロピーを追加しますか?

パスフレーズの提案が、スペースを含む文章としてよく見られます。その形式では、20字以上の大きな切れ目のない「ブロブ」とは対照的に、各ワードが独自に存在するため、辞書攻撃の影響を受けやすくなりますか?

28
v15

いいえ(下部の小さな例外を除きます)。

パスフレーズ「正しい馬のバッテリーの定番」と「正しい馬のバッテリーのステープル」は、エントロピーに関して同等です。スペースを間違った場所に配置することを選択したり、場合によってはスペースを含めたり、スペースを含めなかったりすると、エントロピーが少し増えます。しかし、覚えるのがさらに難しいので、その価値はありません。奇妙な間隔パターンのパスフレーズ全体で、数ビットのエントロピーが得られます。別のワードを追加するだけで約13ビットが追加されます(6面のサイコロの5つのロールに対応する7776ワードのダイスウェア辞書を想定すると、lg(65)= 12.92; lgは2を底とする対数です)。 (私の回答とThomasの意見の間に不一致はありません。パスフレーズにスペースを使用する傾向があるかどうかについての追加情報がない限り、攻撃者はスペースの有無にかかわらずパスフレーズを確認する必要があります)。

ランダムな単語と意味のある文の違いに注意してください。パスフレーズ「量子力学は奇妙」は「熱ファッジスコットキャノピー」と言うよりもはるかに低いエントロピーですか?どうして?意味のある英語では、特定の単語が頻繁に組み合わされるようなパターン(量子力学)や、特定のパターンが文法的に正しいように見える必要があります(主語、述語、主語の補完)が、原則として十分に高度な攻撃者(現在これを利用しているクラッキングアルゴリズムは知らないにもかかわらず)。文法的に正しい英文の情報エントロピーは1文字あたり約1ビットであるため、最初のパスフレーズは約30ビット [1] ですが、2番目のパスフレーズは約4×12.9≅52ビットのエントロピーです。だから約222crack400万倍割れます。

http://www.baekdal.com/insights/password-security-usability のような誤った分析に注意して、多くの基本的な情報理論の誤りを犯します。たとえば、「これは楽しい」は、非常に一般的な構文的に正しい文で最も一般的な英語の単語で構成されているため、信じられないほど弱いです(「これ」〜23番目が最も一般的です。「is」〜7番目が最も一般的ですが、「楽しい」〜 856番目の最も一般的な単語) [2] 。トップ1000の英語の単語から3つのランダムな単語だけをテストした場合、最新のGPUを使用して(ソルトされた)ハッシュを取得したと仮定すると、クラックするのに1秒しかかかりません。これは、ランダムな5文字の英数字(特殊記号は含まない)とほぼ同じです。グーグルで「これは楽しい」という引用句を検索すると、2億2800万回表示されます。

編集:マイナーな例外:パスフレーズ内の連続する単語が辞書(または攻撃者の辞書)内の別の単語を形成し、単語間にスペース(または別の区切り文字)がない場合は、パスフレーズのエントロピーが大幅に低下します。たとえば、パスフレーズを構成するランダムな単語が「本棚の強姦犯」であり、スペースがなかった場合、攻撃者は「本棚のセラピスト」という2つの単語のすべての組み合わせを試すことで侵入する可能性があります。

24
dr jimbob

パスフレーズのスペースは、追加できなかった場合に限り、エントロピーを追加します。重要な点は、攻撃者がパスワードの部分一致をテストできないことです。ハリウッド映画が示唆する傾向がある(ほとんどのグラフィックの方法で)ことに反して、「部分的な解読」(テキストが部分的に判読可能であるが不鮮明)または「部分的なパスワード」などはありません。攻撃者は、最後のカンマまでの正確な予想パスワードを持っているか、まったく何も持っていません。これはログインシステムであり、 Mastermind のゲームではありません。

たとえば、2048の「一般的な」単語のリストから4つの単語をランダムに選択し、それらを追加することによってパスワードを作成するとします( "正しいホースバッテリーステープル" メソッド)。攻撃者は、パスワードをそのように選択していることを知っていると想定します(たとえば、sysadminによって公布された「公式のパスワード選択方法」です)。そのようなパスワードにはどれだけのエントロピーがありますか?これは簡単に計算できます(実際には、脳ではなくサイコロで「ランダムに」選択していると想定します)。2048* 2048 * 2048 * 2048 = 2があります。44 可能性のあるパスワード。これらはすべて同じ確率で選択されます。したがって、44ビットのエントロピー。

ここで、選択プロセスにも「スペースなしで4つの単語を連結する」と記載されているとします。 2つあります44 可能なパスワードなので、44ビットのエントロピー。ここで、ルールに「常に2つの単語の間にスペースを1つ入れる」とあるとします。まだ2つあります44 可能なパスワード、それでも44ビットのエントロピー。ただし、ルールで「スペースで単語を区切るか、すべて連結する(パスワードを選択するときにコインを投げて何らかの方法で決定する)」とすると、突然245 可能なパスワード(確率は同じ):エントロピーは45ビットになりました。

さらに一般的には、パスワード選択プロセスでコインを3回投げる必要があり、2ワード間のスロットごとにスペースが必要かどうかを決定する場合、エントロピーは48ビットに上昇します。ただし、これは「無料」ではないことに注意してください。より多くのエントロピーが得られますが、より多くのことも覚える必要があります(つまり、スペースを置く場所)。


実際的な注意:一般的なキーボードでは、スペースバーを押すと、少し異なる音が鳴ります。あなたのオフィスの同僚が熱心な耳を持っている場合、彼はあなたがそれを使用するかどうか、そしておそらくどこで使用するかに気付くでしょう。また、同僚は定義上、あなたと同じ組織に属しているため、組織で宣伝されているパスワード選択規則を完全に知っています。したがって、エントロピーのソースとしてスペースを使用しないことをお勧めします。特に「4つの単語のルール」およびを使用する場合、リスト内のすべての単語が同じ長さであるとは限りません。長年の同僚は、入力されたスペースを聞いて各単語。

18
Thomas Pornin

簡単な答えは「はい」ですが、それほど多くはありません。文字スペースについて考えてみましょう。大文字と小文字を含め、62文字(a-z、A-Z、0-9)を含む英数字を見ている場合。 {space}を追加すると63文字になるため、1/62向上します

エントロピーを指数関数的に増加させる追加の文字を追加することとは対照的です。

5
Rory Alsop

各Wordを個別に試すことはできないため、辞書攻撃を使用することはできません。これはパスフレーズです。あなたはそれを正しくするためにそれをすべて取得する必要があります。あなたの辞書には「マイク」が含まれている可能性がありますが、「マイクは生きている最も賢い人」は含まれていません。これらは2つの異なるパスワードです。スペースを追加すると、さらに文字が追加されます。文字数が多いほど、エントロピーが多くなります。

1
k to the z

場合によります。もちろん、状況の詳細が重要です。

攻撃者が単語を組み合わせていることを知らない場合、および可能性の空間全体に対してブルートフォース攻撃を行う場合、空白はアルファベットを増やします。

攻撃者が文章または単語のリストを使用していることを知っているまたは想定しているが、空白を使用するかどうかを知らない場合、空白の有無にかかわらず、文の数はほぼ2倍になり、空白がない場合のみブランク。 bookcasebook caseもちろん、例外としてjimbob博士が述べています。

2倍音がしますが、考えてみると、1か月以上にブルートフォース攻撃を行う攻撃者は、おそらく2か月もそれを行うでしょう。

音の問題は面白い考えです。私は別のものを持っています:

GUIのテキストフィールド(おそらくブラウザー)にパスワードを挿入すると、ブランクが常に機能するはずです。しかし、シェルから間接的なプロセスでそれを挿入した場合:

  foologin -u JoeDoe -p you will never guess it

シェルは空白をセパレータとして使用する傾向があるため、機能しない可能性があります。使用する必要があります

  foologin -u JoeDoe -p "you will never guess it"

私の考えは、エラーが攻撃者を助け、エラーの理由を推測し、その結果、方法の情報を漏らし、パスワードが作成される可能性があるということです。少なくとも8文字を使用するルールがあり、「あなた」にはたった3文字しかないため、マスキングなしで文章を使用している人々は、このエラーメッセージの典型的な犠牲者になる可能性があります。

もちろん、これは非常に投機的です。

一方、空白を使用すると、非常に長いパスフレーズを覚えるのに役立ちます。米国のサイトのフランスのユーザーがスペインの文を使用する場合、コルモゴロフのような外国の名前や、覚えやすいスペルミスを挿入できます。これは、ブルートフォース攻撃を計画するのが難しいでしょう。 :)もちろん、空白なしでもそれを行うことができます。

1
user unknown

スペースを追加するとセキュリティが向上する場合とそうでない場合がありますが、スペースを追加すると、パスフレーズの読み取りと入力が簡単になります。たとえば、旅行や公共のコンピューターを使用しているときに必要な場合、LastpassはOTP(ワンタイムパスワード)を生成できます。これらのOTPパスワードは次のようになります。

da6ed4bff36860012a563dd3560c289b

公共のコンピュータからログインする必要がある場合は、これらを印刷して入力する必要がありますが、これらを読んで入力するのは非常に困難です。これの代わりに、OTPは次のよ​​うになります。

消去生死ぬワイプを上げる終了の原因の森彼らの妻を決定

読みやすく入力しやすいスペース付きの単語。パスフレーズにスペースを含めることには欠点はありませんが、このOTPの場合のように、長所は明らかです。

1
user12480