web-dev-qa-db-ja.com

パスフレーズは常に安全ですか?

ほとんどの人がパスワードの代わりにパスフレーズを使用した世界では、ランダムな単語の文字列を生成する攻撃(単語区切り文字を交互に使用)は、ブルートフォース攻撃と同様に効果的ではないでしょうか。もちろん、可能な文字よりもはるかに多くの可能な単語がありますが、実際に使用される単語の範囲は、適切なヒューリスティックによって予測できると思います。

トピックについての無知を表示しているだけですか、それとも意味がありますか?

9
scoreman

一般的に言えば、ブルートフォース攻撃は常に可能であると常に想定できます。秘訣は、彼らがどれほど効果的であるかを制限することです。長さ、または複雑さ、しかしできれば長さを増やすことは、総当たりを遅くする良い方法です。

詳細を説明するために、攻撃者がパスワードハッシュにアクセスでき、ハッシュルックアップテーブルなどのショートカットを使用できないと仮定しましょう。成功するために必要な時間の長さは、利用可能な計算能力の速度にかなり強く依存しています。つまり、1秒あたり1,000個のパスワードをチェックできるコンピュータは、1秒あたり100,000個のパスワードをチェックできるコンピュータよりもはるかに時間がかかります。コンピュータシステムの処理能力が向上するにつれて、オフラインの総当たりを実行する時間の長さが減少します。したがって、この場合は、パスワードまたはパスフレーズを十分に複雑にして、ブルートフォース時間をパスワードの予想寿命よりも長くする必要があります。つまり、パスワードを6か月ごとに変更した場合、解約するまでに少なくとも7か月はかかることになります。

もう1つの一般的なブルートフォース方式は、生命システムへのログインを試みることです。これは、一般的なパスワードリストを持ち、いくつかの単純な資格情報を使用してシステムを探すスキャン(Mortoなど)でよく見られるものです。ここで同じ原則が適用されますが、プロセスを遅くする方法をもう少し制御することができます。たとえば、特定の回数の試行後にリモートシステムをロックアウトしたり、遅延を増やして不正なパスワードメッセージで応答したり、特定の数の不正なパスワードの後に​​アカウントをロックアウトしたりできます。これらはすべてDoS攻撃のメカニズムとして使用できるという欠点があります。ただし、これらはかなり一般的です。 PCIコンプライアンスなどの一部のケースでは、実際にはアカウントロックアウトが必要です。

4
Scott Pack

はい、攻撃者がパスワードをパスフレーズとして扱う場合、パスワードと同様にブルートフォース攻撃に対して脆弱です。

区切り文字がなく、15,000語の語彙を想定している場合、4語のパスフレーズは、大文字と小文字が混在する10文字の英数字のパスワードと同様のエントロピーを持っているため、ブルートフォースにほぼ同じ時間がかかります。

パスフレーズを使用する理由は、より強力なためではなく、ユーザーが覚えやすいためです。

たとえば、「uPTwbyp4kAv」を「 correcthorsebatterystaple "と比較します。

同じエントロピーですが、通常の人間は最初のエントロピーを思い出せないため、書き留めるか、「Password123」に変更します。

4
Graham Hill

あなたは正しいです。パスフレーズで辞書の単語のみを使用する場合、あなたは自分の言語のすべての単語のアルファベットを処理しているだけです(これは確かに26をはるかに超えています)。パスフレーズを使用して、追加のセキュリティを購入しないようにしてください。

ただし、辞書にない単語を少なくとも1つ使用する小さな調整を行うと、パスフレーズの指数関数的な安全性が高まります。いくつかの特殊文字または置換がちりばめられた5つの辞書の単語がある場合、ブルートフォースに対して脆弱ではなく(ほとんどのプラットフォームでは、1ダース未満の文字に対してのみ可能です)、あなたはあなたが言及した辞書パスフレーズ攻撃に対してより脆弱です。

2
Jeff Allen

パスフレーズのセキュリティに興味があるなら、ここに興味深い研究があります 複数の単語のパスフレーズに関するいくつかの証拠 。基本的にこの研究の結果はあなたの期待を裏付けるものです。

パスフレーズは長年使用していますが、直接使用するのではなく、少し変更しています。たとえば、私のパスフレーズは次のようになります。

Th1 $#I $#My#3x @ mpl3#P @ $$ phr @ $ 3

「本当にランダムなパスワード」より覚えるのが簡単で、一般に、許容できるレベルのセキュリティが得られます。この場合、正しい単語を推測するだけでは十分ではありません。攻撃者は、パスフレーズの作成に使用した変換も推測する必要があります(変換は、パスフレーズを作成するたびに何らかの方法で一意にする必要があります)。もちろん、多くの場所で使用する場合、最も長いパスフレーズでも安全ではありません。

ちなみに、パスワードマネージャーアプリケーション(KeePass)も使用しており、パスワードを覚えておく必要のないすべてのアカウントについて、自動生成されたものを使用しています。一意のパスワードを使用することはセキュリティ上の優れた慣行ですが、すべてを覚えようとすると非常に負担になります。パスフレーズを使用している場合でも。

2
pgolen