いつも「長いパスワードがいい、長いパスワードがいい」と聞きます。しかし、「パスワードが長すぎて安全でなくなっている」や「パスワードが長いなどの問題がありますか?十分、それを長くすることは重要ではありません "?
パスワードの解読のみに関するパスワードのセキュリティに興味があります。
それが DoSを引き起こす可能性があります ハッシュ中にサーバーに過負荷をかけている場合、または ベンダーが別の方法で考えている場合 でない場合。
また、パスワードに何も含まれていないとします dictionary とにかくそれはコメントにあるでしょう。 語句は ベストプラクティスを使用して保存 であり、強力で 独自の塩 であり、文字ごとに 関連するエントロピー があります。ユーザーがパスワードをどのように記憶/リコール/保存するかは問題ではありません。
長い / パスワード / より安全 であることに同意します。 上限の制限について質問しています。
パスワードを長くしても(sic)が問題にならない、またはセキュリティが弱まる長さ(またはエントロピーサイズ)はありますか?私はそれがハッシュアルゴリズムに依存していることを知っています。特定のアルゴリズムの上限が存在し、既知である場合、それは何ですか?
128ビット(エントロピー)
より長いパスワードの主な目的は、総当たり攻撃を防ぐことです。 128ビットはブルートフォースの能力を超えていることは一般的に認められており、当面はそうなるでしょう。この図はいくつかの場所に表示されます。 128ビット以上のキー長のSSL暗号は「高セキュリティ」と見なされており、OWASPはセッショントークンを少なくとも128ビットにすることを推奨しています。推論はこれらすべてで同じです-128ビットはブルートフォース攻撃を防ぎます。
実際には、パスワードが大文字、小文字、数字、およびわずかな句読点で構成されている場合、各文字に約6ビットのエントロピーがあるため、128ビットのパスワードは22文字で構成されます。
パスワードは、ブルートフォース以外の方法で侵害される可能性があります。おそらく、クライアントシステムにキーロガーがあるか、ユーザーがフィッシングされます。パスワードの長さはこれらの攻撃にほとんど違いがありません-1000ビットのパスワードでもまったく同じようにキャプチャされます。また、これらの攻撃は実際には一般的であるため、長すぎるパスワードを使用する価値はありません。
実際、128ビット未満のビットでも問題はありません。パスワードがbcryptのような低速ハッシュ関数でハッシュされている場合、ブルートフォース攻撃が難しくなるため、100ビット(またはその前後)はブルートフォース攻撃を完全に防ぎます。オンライン攻撃のみに関心があり、サイトにロックアウトポリシーが設定されている場合は、64ビットでレート制限されたオンラインのブルートフォース攻撃を完全に防ぐことができます。
パスワードは安全ではないほど長くできますか?はい。
組織のセキュリティの全体像を見ると、セキュリティは「推測できないパスワードでアカウントを保護する」という意味だけではありません。セキュリティは、機密性、整合性、および可用性の「CIAトライアド」で組織全体を保護する必要があります。パスワードの長さの特定のしきい値を超えると、機密性と整合性は統計的には向上しませんが、使用性が低いために可用性は低下します。ログインできないシステムは、ダウンしているシステムと同様に利用できません。
すべてのランダムな大文字と小文字、数字、記号を組み合わせた22文字のパスワードをユーザーに入力させると、ユーザーは間違いを起こしやすくなります。重大な状況にすぐに対応するために、ユーザーがストレスにさらされている可能性があることを考慮してください。長いパスワードを使用すると、3回のロックアウトが発生し、ユーザーがリセットするのに時間がかかりすぎて、状況にタイムリーに対処できず、災害が発生する可能性があります。その長いパスワードは利用を妨げました。組織を保護する代わりに、それはそれを害しました。
ユーザーはパスワードの入力にどれだけの時間を費やしていますか?パスワードが長いほど、入力が遅くなります。その費用を収益の真下から差し引いてください。これはセキュリティのコストの一部であり、他の場所で費やされたはずのお金です。 100文字のパスワードでは、20文字を超えるパスワードが必要になりますが、リスクは測定可能なほど減少しません。時間とお金は資産であり、長すぎるパスワードは、追加の利点を生み出すことなくそれらを費やします。
以上のことから、私は4桁のPINのセキュリティが不十分であることを主張しているので、ユーザーはより速く、より幸せで、間違いを減らしますか?もちろん違います。あなたがする必要があるのは、パスワードによって提供されるエントロピーとそれを使用する心理とのバランスをとることです。
ほとんどのユーザーは70の文字、数字、記号で構成される12文字のパスワードを覚えることはできませんが、おそらく5つのワードのパスフレーズを覚えることができます。したがって、同様のエントロピーを達成するために、ダイスウェアアプローチを検討してください。 5つの無作為で使い慣れた単語は、12の無作為な記号よりも覚えやすく入力しやすいかもしれません。 6つのダイスウェアワードは、12文字のパスワードよりもさらに高いセキュリティを提供します。
何らかの理由で文字にする必要がある場合は、明確な文字のセットから選択してください。ユーザーにシフトキーで踊らせたり、ランダムな記号を入力させたりしないでください。 [az] [AZ] [0-9] [!-*]から抽出する12個のランダムな文字パスワードからのエントロピーが必要な場合は、[az]だけを使用して同様のレベルのエントロピーを実現し、15文字に拡張できます。 。
または、認証トークン、バイオメトリクス、スマートカードなどの他のツールを検討して、より短いPINを補完するようにしてください。
セキュリティシステムは使用可能である必要があります。そうでない場合、組織に悪影響を及ぼします。
パスワードが長くなっても安全性が低下することはありませんが、ある時点で、パスワードの安全性が低下します。
あなたが言及する仮定に基づいて、パスワードは本当にランダムであり、 bcrypt (最先端のパスワードストレージ)を使用して保存されているようです。 Bcryptには 長さ制限 があり、実装に応じて50〜72文字の範囲です。したがって、それより長いパスワードは許可されないか、最初のN文字のみを使用してハッシュされるか、または類似したものになります。基本的に、長いほど良くはありません(悪くはありません)。
また、パスワードが今からユニバースの終わりまでパスワードハッシュに対するブルートフォース攻撃に対して安全である場合、パスワードを長くしても安全性は向上しないと主張することもできます。攻撃者のハードウェアについて大まかに想定している場合でも、20〜30文字の真にランダムなパスワードは、宇宙の終わりまで安全です。したがって、より長いパスワードはより安全ではありません。
長いパスワードが実際に予想よりも弱い場合の1つのケースは、パスワードとして入力した文字列を切り捨てるシステムです。検討する
passwordsogoodtahtittakestrillionyearstobreakitgoaheadtryme
このパスワードは非常に良いです1 あなたが実際にそれを見るシステムがある場合を除いて
password
これは、8文字しか受け入れないためです。残りはサイレントに破棄されるので、常にpasswordsogoodtahtittakestrillionyearstobreakitgoaheadtryme
と入力すると、システムはpassword
を受け入れ、全員が幸せになります。
この組み合わせ を最初に試すハッカーを含みます。
1はい、また、数学に障害のあるセキュリティコンサルタントが推奨する、役に立たない大文字の数字と特殊文字の3つ組よりも覚えやすい辞書の単語があるためです。
これをほのめかすコメントがいくつかありますが、明確に述べられている回答はないので、ここに追加します。
はい。パスワードがハッシュ化されている場合、パスワードからセキュリティを確保する前に、パスワードに追加できる長さに制限があります(そうなることを願っています)。これは、攻撃者がパスワードを知る必要がないためです。攻撃者は、同じ出力にハッシュされる文字列を知るだけで十分です。したがって、ハッシュアルゴリズムの出力よりもエントロピーの大きいパスワードを使用している場合、ハッシュの衝突により、同じ出力を生成する短い文字列がほぼ確実に存在します。その時点では、パスワードをどれだけ長くするかは問題ではなく、同じ出力エントロピーしか得られません。
もちろんこれは、衝突が見つかるまで攻撃者がハッシュをブルートフォースする必要があることを意味します。これは安全な暗号化ハッシュでは事実上不可能ですが、実際的なものではなく理論的な制限を求めました。
Landauer Limitは、与えられた量のエネルギーで実行できるシングルビット変更の理論的な最大可能数を指定します。 100年間フル稼働している、世界で最も強力な20の発電所にアクセスできるとしましょう。これにより、計算に使用するエネルギーの5 * 10 ^ 20ジュールが得られます。理論的に必要なエネルギーの100万倍しか消費しない最新のコンピューターを使用しているとします。非常に多くのエネルギーがあり、コンピュータは摂氏-270度まで冷やされているため、物理法則では、入力の2 ^ 124通りの組み合わせしか処理できないとされています。
惑星全体を完全に破壊し、完全な効率でエネルギーに変換し、Landauer限界で動作するコンピューターを再び摂氏-270度に冷却する場合、2 ^ 213の可能な入力の組み合わせを列挙できます。
宇宙全体のすべての物質を何らかの方法で破壊し、すべての暗黒エネルギーを収集できる場合、理論的に完全なコンピューターは、2 ^ 233の組み合わせでしか機能しません。
したがって、2 ^ 233の組み合わせは、時間とエネルギーの十分な投資を考えれば、ブルートフォース攻撃が成功することが保証されなくなるポイントです。十分に大きな投資はあり得ません。
常に運があります。ビット数に関係なく、推測が正しい可能性があります。したがって、許容できるリスクを選択します。リスクをゼロにする方法はなく、普遍的な用語で「許容できる」と定義する方法はありません。
理論的には、地球規模のコンピューターで計算速度がブレマーマンリミットで動作している場合、256ビットのパスワードは2分未満で解読されます。しかし、計算されたように、宇宙にはその努力をするのに十分な力がありません。理論的に理想的な装置で分解するのにかかる時間は、「許容できる」限界を与えません。
オバマ大統領は、2025年までにエクサフロップコンピュータの作成を命じ、それが構築されたときに世界最速のコンピュータになることを期待しています。エクサフロップコンピュータが、太陽が爆発する前に残っている50億年の間に2 ^ 233ビットのパスワードを解読する可能性はどのくらいありますか?まあ、それは1.6 * 10 ^ 34推測または2 ^ 114推測未満です。これは、太陽が爆発する前に2 ^ 119(6 * 10 ^ 35)でパスワードを解読する1つのチャンスです。
受け入れられる?誰が言うべきですか?そのようなオッズは非常にありそうもないので、見通しに入れることは非常に困難です。今週、来週、そして翌週も抽選ジャックポットを獲得しましたか?太陽が今から50億年後に爆発する前にパスワードを解読するよりもはるかに可能性が高いです。
233ビットのエントロピーは、US-ASCIIの95の印刷可能な文字から引かれた36文字で表すことができます。攻撃者は、宇宙全体のすべてのリソースを使用してそのようなパスワードをブルートフォースでクラックすることを保証することはできません。また、今日存在するテクノロジーだけを使用してパスワードをクラックする可能性は非常に小さいです。
これは、アルゴリズムの選択やパスワードを覚える必要のある人ではなく、宇宙の実際の物理法則によって課されることを私が認識している唯一の制限です。
デフォルトでは、という形式の質問の答えは、パスワードで発生します[悪いことXYZ]はyesです。特定のコメントの余地は常にありますが、パスワードは人に与えられる最も自然でないセキュリティタスクの1つであり、その人はほぼ間違いなく、セキュリティよりも効率を優先するという事実が残っています。
辞書にない長いパスワードを選択した場合、そのパスワードは覚えにくいランダムな文字列である可能性があります。その結果、ユーザーはあまり面倒なく実際にシステムを使用するためのショートカットを見つける必要があります(ユーザーにとって、セキュリティは通常、実際に価値のあるタスクを達成するための障害です):書き留め、クリップボードに保存し、プラグを差し込みますパスワードを自動的に入力するUSBドン...名前を付けます。
Battery Horse Staple XKCDコミック は、覚えやすい長いパスワードを作成することで有名になりましたが、その結果、すべての辞書にcorrecthorsebaterrystapleを追加しました。したがって、一般に、使用可能な長いパスワードを生成することは困難です。
実務上の責任については以上です。少し数値を見てみましょう。パスワードを平文で保存するのではなく、ハッシュ化してソルト化するとします。一般に、保存されたパスワードの衝突を取得するよりも簡単にパスワードの保存をクラックする方法はないとしましょう。その場合、各パスワードハッシュは固定長になります。たとえば、SHA-256の256ビットを考えてみましょう。次に、せいぜい2256 保存する値。確かに、それはたくさんありますが、それはあなたの「限界」でもあります。 256ビットを超えるエントロピーでパスワードを保存すると、その追加のエントロピーをどこにも保持できなくなります。安全性は低くありませんが、Neilの回答がbcryptに関連して指摘しているように、長いパスワードを使用してもメリットはありません。
はい、長いパスワードの方が安全性が低い場合がありますが、とにかく簡単に解読できるため、DESパスワードを使用する必要はありません。DESパスワードが8文字を超えると、実際には安全性が低下し、使用されるエントロピーが少なくなります!回避策は、ハッシュする前にパスワードを8文字に切り捨てることでした。まだ誰かがDESベースのパスワードハッシュには他の問題もあります。同様の欠陥が他のパスワードハッシュアルゴリズムに影響を与える可能性もあります(lanmanの一部のバージョンには同様の問題があったと思います)。ただし、パスワードハッシュを設計するほとんどの人は、歴史と私はこの問題で現代に公開されたパスワードハッシュ関数を認識していません。
パスワードについて話すときは、すべてのベクトルを考慮に入れることが重要です。
たとえば、パスワード「password」はブルートフォースに2.17秒かかります。 「p455w0rd」は29.02秒かかり、「p455w0Rd!」 2.4か月かかります。 重要:パスワードの総当たり攻撃について話していたので、これらの3つの例は、辞書ベースの攻撃では1秒もかかりません。
対照的に、「thisisalongpassword」は250万世紀、「th1sIs4l0ngPa55w0rd」は36.72世紀かかります。ただし、より複雑なパスワードを使用すると、誰かが付箋にパスワードを書き込んでモニターに貼り付ける可能性が高くなります。
したがって、ブルートフォースの観点からはエントロピーが大きい方が良い一方で、人々が人間になり安全でないことを行う可能性が高くなるため、システム全体のセキュリティが低下し、他の攻撃ベクトルの脆弱性が高まります。
別の例を見ると、ユーザーにパスフレーズの長さのパスワードを使用するように強制するとします。したがって、ユーザーは「tobeornottobe」を選択します。ハッカーがブルートフォースだけで行った場合、9.85か月かかります。しかし、ハッカーは辞書攻撃やその他のヒューリスティックを使用するため、これには手間がかかる可能性があります。同じユーザーが「2b0n2b」を使用した場合、ブルートフォースだけでは0.02秒かかりますが、辞書攻撃は役に立ちません。目標は、覚えやすい、ブルートフォースハード、辞書ハードの間のスイートスポットを見つけることです。パスワードポリシーをこれらの目標の1つから遠ざけると、パスワード全体が脆弱になります。
答え
エントロピーが増えるとパスワードが脆弱になる上限はありません。現実の世界でパスワードを使用してについて話すとき、上限があります。上限とは、システムのユーザーがパスワードを覚えておくために何らかの安全でない手段を使用しないと、パスワードを使用できなくなり、他の攻撃方法に利用できるようになるポイントです。
パスワードを総当たりする時間は、「オフライン高速攻撃シナリオ」の https://www.grc.com/haystack.htm に基づいています。
実際には制限はありません。制限は、置換攻撃が十分に文書化され、測定可能である既知の弱いハッシュに対して可能です。