
パスワードの強度は、推測攻撃や総当たり攻撃に対するパスワードの有効性を示す指標です。通常、パスワードに直接アクセスできない攻撃者が、平均して何回試行すれば正しく推測できるかを推定します。パスワードの強度は、長さ、複雑さ、予測不可能性の関数です。[ 1 ]
強力なパスワードを使用すると、セキュリティ侵害の全体的なリスクは低下しますが、強力なパスワードは他の効果的なセキュリティ制御の必要性をなくすものではありません。[ 2 ]特定の強度のパスワードの有効性は、認証要素(知識、所有権、固有性)の設計と実装によって大きく左右されます。この記事では、最初の要素に焦点を当てます。
攻撃者が推測したパスワードをシステムに試行できる頻度は、システムセキュリティを判断する上で重要な要素です。一部のシステムでは、パスワード入力の失敗回数が少ない場合(例えば3回)、数秒のタイムアウトを設定しています。他の脆弱性がない限り、このようなシステムは比較的単純なパスワードでも効果的に保護できます。しかし、システムはユーザーのパスワードに関する情報を保存しており、その情報が保護されずに盗まれた場合(例えば、システムセキュリティの侵害によって)、パスワードの強度に関係なく、ユーザーのパスワードが漏洩する可能性があります。
2019年、英国のNCSCは、侵害されたアカウントの公開データベースを分析し、人々がどのような単語、フレーズ、文字列を使用しているかを調べました。リストの中で最も人気のあるパスワードは「123456」で、2320万のパスワードに登場しました。2番目に人気のある文字列は「123456789」で、770万のパスワードに登場しました。トップ5のその他は「qwerty」、「password」、「1111111」[ 3 ]で、それぞれ380万、360万、310万のパスワードに登場しました。[ 4 ]
パスワードは、自動生成(乱数生成装置を使用)または人間によって生成されますが、後者の方が一般的です。ランダムに生成されたパスワードの総当たり攻撃に対する強度は正確に計算できますが、人間が生成したパスワードの強度を判断するのは困難です。
通常、コンピュータ システムやインターネット Web サイトで新しいアカウントを作成する際、人間はパスワードを選択するように求められます。その際、提案が提示されたり、一連のルールによって制限されたりすることがあります。しかし、人間はこのような作業でパターンに従う傾向があるため、パスワードの強度を大まかに推定することしかできません。そして、そのパターンは通常、攻撃者を助ける可能性があります。[ 5 ]さらに、パスワード推測プログラムで使用できる、よく使われるパスワードのリストが広く入手可能です。このようなリストには、さまざまな言語の多数のオンライン辞書、さまざまなオンライン ビジネス アカウントやソーシャル アカウントから漏洩した平文およびハッシュ化されたパスワードのデータベース、その他の一般的なパスワードが含まれます。このようなリストにあるすべての項目は、それらを単純に変更したパスワードと同様に、脆弱であると考えられます。
ランダムパスワード生成プログラムは利用可能で、使いやすさを重視して設計されていますが、生成されるパスワードは通常ランダムで覚えにくいため、人々は自分でパスワードを選ぶことを好む傾向があります。しかし、これは本質的に安全ではありません。なぜなら、個人のライフスタイル、娯楽の好み、その他の重要な個人的特性がパスワードの選択に影響を与えることが多く、オンラインソーシャルメディアの普及により、人々の情報を入手することがはるかに容易になっているからです。
認証にパスワードを使用するシステムでは、アクセスするために入力されたパスワードを検証する何らかの方法が必要です。有効なパスワードがシステムファイルやデータベースに単純に保存されている場合、システムへの十分なアクセス権を得た攻撃者はすべてのユーザーパスワードを入手し、攻撃対象システムのすべてのアカウント、さらには同じまたは類似のパスワードを使用している他のシステムにもアクセスできてしまいます。このリスクを軽減する一つの方法は、パスワード自体ではなく、各パスワードの暗号化ハッシュのみを保存することです。セキュアハッシュアルゴリズム(SHA)シリーズなどの標準的な暗号化ハッシュは逆算が非常に難しいため、ハッシュ値を入手した攻撃者はパスワードを直接復元することはできません。しかし、ハッシュ値を知っていれば、攻撃者はオフラインで推測を素早くテストできます。盗まれた暗号化ハッシュに対して多数の試行パスワードをテストするパスワードクラッキングプログラムは広く利用可能です。
コンピューティング技術の進歩により、推測されたパスワードをテストできる速度は向上し続けています。たとえば、2010 年に、ジョージア工科大学研究所はGPGPUを使用してパスワードをはるかに高速に解読する方法を開発しました。 [ 6 ] Elcomsoft は、2007 年 8 月に、より高速なパスワード回復のために一般的なグラフィック カードを使用する方法を発明し、すぐに米国で対応する特許を出願しました。[ 7 ] 2011 年までに、当時のハイエンドのグラフィック プロセッサを使用して、標準的なデスクトップ コンピュータで毎秒最大 112,000 個のパスワードをテストできると主張する商用製品が利用可能になりました。 [ 8 ]このようなデバイスは、6 文字の単一大文字のパスワードを 1 日で解読します。この作業は、同等の GPU を備えた利用可能なコンピュータの数に比例して、追加の高速化のために多くのコンピュータに分散できます。計算に比較的長い時間を要する特殊なキー ストレッチハッシュが利用可能であり、推測が行われる速度を低下させます。キー ストレッチを使用することがベスト プラクティスと考えられていますが、多くの一般的なシステムでは使用されていません。
パスワードが暗号鍵の生成に使用される場合も、迅速な推測が可能な状況です。このような場合、攻撃者は推測したパスワードが暗号化されたデータを正常に復号できるかどうかを迅速に確認できます。たとえば、ある市販製品は、1秒間に103,000個のWPA PSKパスワードをテストできると主張しています。[ 9 ]
パスワードシステムがパスワードのハッシュ値のみを保存する場合、攻撃者は一般的なパスワードのバリエーションや特定の長さより短いすべてのパスワードのハッシュ値を事前に計算できるため、ハッシュ値を取得すればパスワードを非常に迅速に復元できます。事前に計算されたパスワードハッシュの非常に長いリストは、レインボーテーブルを使用して効率的に保存できます。この攻撃方法は、ハッシュ値とともに暗号ソルトと呼ばれるランダムな値を保存することで阻止できます。ソルトはハッシュ値の計算時にパスワードと組み合わされるため、レインボーテーブルを事前に計算する攻撃者は、各パスワードについて、考えられるすべてのソルト値とのハッシュ値を保存する必要があります。ソルトの範囲が十分に大きい場合、たとえば32ビットの数値の場合、これは実行不可能になります。一般的に使用されている多くの認証システムはソルトを使用しておらず、そのようなシステムのいくつかについては、インターネット上でレインボーテーブルが利用可能です。
パスワードの強度は、情報エントロピーの量によって決まります。エントロピーはシャノン(Sh)で測定され、情報理論の概念です。これは、特定のタイプのパスワードに含まれる情報を保持するために必要な最小ビット数と考えることができます。関連する尺度は、 パスワードを確実に見つけるために必要な推測回数の底 2 の対数であり、一般に「エントロピー ビット」と呼ばれます。 [ 10 ]エントロピーが 42 ビットのパスワードは、たとえば公平なコイン投げによってランダムに選択された 42 ビットの文字列と同じ強度になります。言い換えると、エントロピーが 42 ビットのパスワードは、総当たり検索ですべての可能性を尽くすために2 42 (4,398,046,511,104) 回試行する必要があります。したがって、パスワードのエントロピーを 1 ビット増やすと、必要な推測回数が 2 倍になり、攻撃者の作業が 2 倍難しくなります。平均して、攻撃者は正しいパスワードを見つけるまでに、可能なパスワードの半分の数を試さなければならない。[ 5 ]
ランダムパスワードは、指定された長さの記号列で構成され、各記号が等しい確率で選択されるランダム選択プロセスによって、ある記号セットから抽出されます。記号は、文字セット(例えばASCII文字セット)の個々の文字、発音可能なパスワードを形成するように設計された音節、あるいは単語リストからの単語(パスフレーズ)などです。
ランダムパスワードの強度は、基となる乱数生成器の実際のエントロピーに依存しますが、これらは真のランダムではなく、擬似乱数であることが多いです。一般に公開されているパスワード生成ツールの多くは、エントロピーが限られたプログラミングライブラリの乱数生成器を使用しています。しかし、最新のオペレーティングシステムのほとんどは、パスワード生成に適した暗号学的に強力な乱数生成器を提供しています。また、通常のサイコロを使ってランダムパスワードを生成することも可能です。ランダムパスワード生成プログラムは、生成されるパスワードがローカルのパスワードポリシーに準拠するように保証できる場合が多くあります。例えば、常に文字、数字、特殊文字を混ぜて生成するなどです。
N 個の可能な記号の集合から長さLの記号列をランダムに選択するプロセスによって生成されるパスワードの場合、可能なパスワードの数は、記号の数をL乗することで求められます。つまり、N Lです。LまたはNのいずれかを増やすと、生成されるパスワードは強化されます。情報エントロピーによって測定されるランダムパスワードの強度は、パスワード内の各記号が独立して生成されると仮定した場合、可能なパスワードの数の底が 2 の対数、つまり log 2です。したがって、ランダムパスワードの情報エントロピーHは、次の式で与えられます。
ここで、Nは可能な記号の数、Lはパスワード内の記号の数です。Hはビット単位で測定されます。[ 5 ] [ 11 ]最後の式では、log は任意の基数になります。
N個の記号の集合からランダムに選ばれたパスワードで、所望の強度Hを達成するために必要な長さLを求めるには、次のように計算します。
人々は満足のいくパスワードを作成するのに十分なエントロピーを達成するのが非常に苦手であることで知られています。50万人のユーザーを対象としたある研究によると、平均パスワードエントロピーは40.54ビットと推定されました。[ 12 ]
したがって、300万を超える8文字のパスワードの分析では、文字「e」が150万回以上使用されたのに対し、文字「f」はわずか25万回しか使用されませんでした。均一分布であれば、各文字は約90万回使用されることになります。最もよく使用される数字は「1」であり、最もよく使用される文字はa、e、o、rです。[ 13 ]
ユーザーはパスワードを作成する際に、より多くの文字セットを十分に活用することはめったにありません。例えば、2006年のMySpaceフィッシング詐欺で得られたハッキング結果では、34,000個のパスワードが明らかになりましたが、そのうち大文字と小文字、数字、記号が混在していたのはわずか8.3%でした。[ 14 ]
ASCII文字セット全体(数字、大文字と小文字の混在した英字、特殊文字)を使用することで得られる真の強度は、考えられるすべてのパスワードが等しく出現する場合にのみ実現されます。これは、すべてのパスワードに、大文字と小文字、数字、英数字以外の文字など、複数の文字クラスの文字を含める必要があることを示唆しているようです。このような要件はパスワード選択のパターンであり、攻撃者の「作業量」(クロード・シャノンの用語)を減らすことが期待できます。これはパスワードの「強度」の低下を意味します。より良い要件としては、オンライン辞書にある単語、名前のリスト、または(米国の場合)州や(EUの場合)国のナンバープレートのパターンをパスワードに含めないことが挙げられます。パターン化された選択が求められる場合、人間は文字を大文字にする、1つか2つの数字を追加する、特殊文字を追加するなど、予測可能な方法で使用する可能性が高くなります。この予測可能性は、ランダムなパスワードと比較した場合、パスワードの強度の向上はわずかであることを意味します。
パスワードセキュリティ意識向上プロジェクト
Googleは、サイバーいじめ、基本的なハッキング、情報セキュリティなどのトピックを網羅し、子供たちにオンラインの安全を教えるオンラインインタラクティブゲーム「Interland」を開発しました。たとえば、「宝の塔」という章では、ゲームで(₺&@#%)のような文字と組み合わせた珍しい名前を使用することが推奨されています。[ 15 ]
2004年6月のNIST特別刊行物800-63(改訂版2)では、人間が生成したパスワードのエントロピーを近似するスキームが提案されている。[ 5 ]
この方式では、大文字と非アルファベット文字を含まない、または2つの文字セットのいずれか一方のみを含む、人間が選択した8文字のパスワードのエントロピーは18ビットと推定されます。NISTの出版物では、開発当時、実際のパスワード選択に関する情報はほとんど入手できなかったことを認めています。新たに入手可能になった実世界のデータを使用した、人間が選択したパスワードのエントロピーに関するその後の研究では、NIST方式は人間が選択したパスワードのエントロピー推定のための有効な指標を提供しないことが実証されています。[ 16 ] 2017年6月のSP 800-63の改訂版(改訂3)では、このアプローチは削除されています。[ 17 ]
各国のキーボードの実装は異なるため、ASCIIの印刷可能な文字94文字すべてがどこでも使えるわけではありません。これは、現地のコンピューターのキーボードを使ってリモートシステムにログインしようとする海外旅行者にとって問題となる可能性があります。タブレット端末やスマートフォンなどの多くの携帯端末では、特殊文字を入力するために複雑なシフトキー操作やキーボードアプリの切り替えが必要になります。
認証プログラムによって、使用可能なパスワード文字のリストは異なります。大文字と小文字を区別しないもの(例えば、大文字の「E」は小文字の「e」と同等とみなされる)もあれば、一部の記号を禁止しているものもあります。ここ数十年で、パスワードに使用できる文字数は増えてきましたが、依然として制限は存在します。また、パスワードの最大長もシステムによって異なります。
実際問題として、パスワードはエンドユーザーにとって合理的かつ機能的であると同時に、意図された目的に対して十分な強度を備えている必要があります。パスワードの複雑さの要件によって問題が悪化する、覚えにくいパスワードは忘れられやすく、紙に書き留められる可能性が高くなりますが、紙が適切に保管されていない場合はセキュリティリスクとなります。[ 18 ] [ 19 ] [ 20 ]対照的に、ブルース・シュナイアーは、ユーザーに補助なしでパスワードを覚えさせることは弱いパスワードしか許容できず、より大きなセキュリティリスクをもたらすと主張し、ほとんどの人は財布やハンドバッグを安全に保管するのが得意であり、そこは書き留めたパスワードを保管する「最適な場所」であると述べています。[ 21 ]
パスワードに必要な最小エントロピービット数は、特定のアプリケーションの脅威モデルによって異なります。総当たり攻撃の有効性を制限するために、米国国立標準技術研究所は、システム管理者がパスワードを平文または暗号学的ハッシュ関数のみで保存するのではなく、鍵ストレッチを実行する鍵導出関数で常に保存することを推奨しています。[ 20 ]パスワードの誤入力回数を制限するなど、その他の実装の詳細により、追加の保護が提供されます。[ 22 ]このような方法が使用されない場合は、より多くのエントロピーを持つパスワードが必要です。また、コンピューティング能力は継続的に向上するため、オフライン攻撃を防ぐために必要なエントロピービット数も時間とともに増加する必要があることを念頭に置いておくことも重要です。
RFC 4086「セキュリティのためのランダム性要件」(2005年6月発行)では、いくつかの脅威モデルの例と、それぞれのモデルに必要なエントロピーを計算する方法が示されています。[ 23 ]回答は、オンライン攻撃のみが想定される場合は29ビットのエントロピーが必要であり、パスワードやキーを長期間安全に保つ必要があり、ストレッチングが適用できない暗号化などのアプリケーションで使用される重要な暗号キーには最大96ビットのエントロピーが必要であるという点で異なります。 2007年のUSENIX会議論文では、適切な保護措置を講じれば、20ビットのエントロピーで実際のオンライン脅威から保護するのに十分であると述べられています。[ 22 ] 2010年のジョージア工科大学研究所のストレッチングされていないキーに基づく研究では、ランダムパスワードの最小長要件として12文字が推奨されています。[ 6 ] [ 24 ]
パスワードエントロピーの推奨上限は、暗号化に使用される鍵の選択に関する厳格な要件に関連しています。1999 年、電子フロンティア財団のプロジェクトは、特別に設計されたハードウェアを使用して56 ビットDES暗号化を 1 日未満で解読しました。[ 25 ] 2002 年、distributed.net は64 ビットの鍵を 4 年 9 か月 23 日で解読しました。[ 26 ] 2011 年 10 月 12 日現在、distributed.net は、現在のハードウェアを使用して 72 ビットの鍵を解読するには約 45,579 日、つまり 124.8 年かかると推定しています。[ 27 ]現在理解されている基礎物理学の制限により、いかなるデジタル コンピュータ(またはその組み合わせ) も総当たり攻撃によって 256 ビットの暗号化を解読できるとは予想されていません。[ 28 ]量子コンピュータが実際にそれを実行できるかどうかはまだ不明ですが、理論的な分析ではそのような可能性が示唆されています。 [ 29 ]
良いパスワードを選ぶための推奨事項は、総当たり攻撃や巧妙な推測によってパスワードが発見されにくくなるように設計されています。米国と英国のサイバーセキュリティ部門はどちらも、短くて複雑なパスワードよりも、長くて覚えやすいパスワードを推奨しています。[ 30 ] [ 31 ]
パスワードの長さに関する推奨事項は、年々増加しています。1999年には、6文字が最低限と考えられており、主要なオペレーティングシステムの多くのインストールでは、8文字を超えるパスワードをサポートできませんでした。[ 32 ] 2000年代には、文字、数字、記号を組み合わせる場合、パスワードの最小長は約8文字と推奨されていましたが、当時すでに約14文字のパスワードが理想的と考えられていました。[ 33 ] 2026年現在NISTは最低15文字のパスワードを推奨しています。[ 5 ]
セキュリティ専門家は、パスワードの破りや推測をはるかに容易にする特定のパターンや慣習を特定しています。ブルース・シュナイアーは、2007年のWired誌のコラムで、パスワードの末尾や先頭ではなく、中央に記号や数字を挿入し、一般的な置換を避けることを推奨しています。つまり、ドル記号($)の代わりに文字を使用したい場合は、「s」以外の文字を選択し、数字の1(1)の代わりに文字を使用したい場合は、小文字のl(l)以外の文字を選択するということです。[ 34 ]
パスワードに関するガイダンスは、以前は記号の種類(大文字と小文字、数字、句読点の両方を含む必要があるなど)を含めることに重点を置いており、いくつかの有名なサイトやシステムがさまざまな関連ルールの適用をサポートしていました。しかし、これは覚えにくいパスワードを生み出し、安全なパスワードの最も重要な部分である長さから焦点をずらしてしまいます。[ 5 ]そして実際には、パスワードを解読しやすくしてしまう可能性があります。[ 20 ]さらに、「pqZ%rw5j」のようなパスワードを強制すると、覚えにくくなるなど、他の弱点が生じます。
以前のガイダンスでは、文字の繰り返し、キーボードのパターン、辞書に載っている単語、親族やペットの名前、経歴情報、ログインユーザー名の一部、連続した文字や数字を避けることも強調されていました。大手テクノロジー企業は、2026年時点では、さまざまな時期に、次のような技術を使用したパスワードを推奨してきました。時代遅れです。2008年にGoogleは、パスワードを作成する際に上記のすべてを含めることを推奨しました。[ 35 ]
2026年現在NISTは、パスワードに特殊文字や数字を含めることを推奨しなくなりました。これらを追加するとパスワードの推測は難しくなりますが、短いパスワードは安全だとユーザーが思い込んでしまう可能性もあります。NISTは、パスワードの最も重要な側面はその長さであることをユーザーに思い出させます。[ 5 ]例えば、「My son Aiden is three years old」というパスフレーズを考えた場合、「msaityo」に短縮せず、「mysonaidenis3yearsold」という21文字のパスワードをそのまま使用してください。
暗号化技術の進歩に伴い、スペース以外の特別な句読点を含まない長いパスフレーズ(「cassette lava baby」など)を推奨するアドバイスが広まってきた。長いパスフレーズは覚えやすく、また(長いため)解読されにくい。セキュリティ専門家は、人々がパスワードを書き留めることを認めているため、それがパスワードだとすぐに認識されない方が良いとしている。[ 5 ]
ウェブサイトでは、パスワードを忘れた人のために「秘密の質問」(「初めて飼ったペットの名前は何でしたか?」など)を提供するものもあった。しかし、こうした仕組みはパスワード自体よりも簡単に解読されてしまうことが多かった。[ 34 ]
多くのシステムでは、パスワードの継続的な変更をサポートまたは強制していました。これはセキュリティを高めると考えられていましたが、実際には逆効果になることがよくありました。人々は単にお気に入りのパスワードに「teddy1」、「teddy2」、「teddy3」などと連番を付けるだけで、パスワードの強度は実質的に向上せず、パスワードを忘れる可能性が著しく高まるだけだったのです。
セキュリティ専門家は、すべてのアカウントに固有のパスワードを設定することを推奨しています。複数のアカウントで同じパスワードを使用すると、いずれかのサービスが攻撃を受けた場合に、他のアカウントも侵害されるリスクが高まります。
パスワードに小文字、大文字、数字、記号を含めることを強制することは一般的な方針でしたが、解読しやすくすることでセキュリティを低下させることが判明しました。研究によると、このような記号の一般的な使用は予測可能であり、米国[ 20 ]および英国[ 36 ]政府のサイバーセキュリティ部門は、パスワードポリシーにこれらの記号を含めることを強制しないよう勧告しています。複雑な記号はパスワードを覚えることを非常に困難にし、書き留めること、パスワードのリセット、パスワードの再利用を増加させますが、これらはすべてパスワードのセキュリティを向上させるのではなく低下させます。[ 19 ]パスワードの複雑性ルールの元の著者であるビル・バーは謝罪し、研究で判明したようにセキュリティを低下させることを認めました。これは2017年にメディアで広く報道されました。[ 37 ]オンラインセキュリティ研究者[ 38 ]およびコンサルタントも、パスワードに関するベストプラクティスのアドバイスの変更[ 39 ]を支持しています。それにもかかわらず、パスワードポリシーにおける複雑性要件は依然として広く普及している。2023年の2万のウェブサイトの調査では、約20%が依然としてパスワードに少なくとも2種類の文字クラスの文字を含めることを要求していることが判明した。[ 40 ]
パスワードを書き留めることを推奨しない勧告もあれば、ユーザーがアクセスしなければならないパスワードで保護されたシステムの数が多いことを指摘し、書き留めたパスワードリストを安全な場所に保管する限り、パスワードを書き留めることを推奨する勧告もある。[ 21 ] NCSCはパスワードマネージャーの使用を推奨している。 [ 41 ]
パスワードに使用できる文字セットは、ウェブサイトの種類やパスワードを入力するキーボードの種類によって制限される場合があります。[ 42 ]
他のセキュリティ対策と同様に、パスワードの強度は様々で、弱いものもあれば弱いものもあります。たとえば、辞書にある単語と難読化された単語(たとえば、パスワード内の文字を数字に置き換えるなど、一般的な方法)の強度の違いは、パスワードクラッキングデバイスに数秒余計にかかる可能性がありますが、強度はほとんど向上しません。以下の例は、弱いパスワードが構築されるさまざまな方法を示しています。これらはすべて、非常に低いエントロピーをもたらす単純なパターンに基づいており、高速で自動的にテストできます。[ 13 ]
パスワードが脆弱になる方法は他にもたくさんあり、[ 45 ]さまざまな攻撃スキームの強さに対応しています。基本原則は、パスワードは高いエントロピー(通常はランダム性と同等とみなされる)を持ち、 「巧妙な」パターンで容易に推測できないようにし、またパスワードをユーザーを識別する情報と混同しないようにすることです。
2012年の状況では、 ACM誌の記事でウィリアム・チェスウィックが概説したように、パスワードのセキュリティは主に8文字以上の英数字パスワードを重視していた。そのようなパスワードは、毎秒1000万回の試行に252日間耐えられると推測された。しかし、当時の最新のGPUの助けを借りて、毎秒70億回の試行のクラッキング率を考慮すると、この期間は約9時間に短縮された。13文字のパスワードは、GPU計算による試行に90万年以上耐えられると推定された。[ 46 ] [ 47 ]
2023年のハードウェア技術の状況では、2012年の標準であった8文字の英数字パスワードは脆弱になり、数時間で破られてしまう。13文字のパスワードを解読するのに必要な時間は数年に短縮されている。そのため、現在の重点は変化している。パスワードの強度は、複雑さだけでなく長さによっても評価されるようになり、少なくとも13~16文字のパスワードが推奨されている。この時代には、重要な強化策として多要素認証(MFA)も台頭した。パスワードマネージャーの登場と普及により、ユーザーは強力で固有のパスワードを多数作成し、維持することがさらに容易になった。[ 48 ]
パスワードポリシーとは、適切なパスワードを選択するための指針です。その目的は以下のとおりです。
以前のパスワード ポリシーでは、数字、記号、大文字/小文字など、パスワードに含めるべき文字が規定されていました。これは現在も使用されていますが、大学の研究[ 49 ] 、このポリシーの発案者[ 50 ] 、米国[ 20 ]および英国[ 52 ]のサイバー セキュリティ部門 (およびその他の関連政府セキュリティ機関[ 51 ] )によって、セキュリティが低いことが証明されています。記号を強制するパスワード複雑性ルールは、以前は Google [ 53 ]や Facebook [ 54 ]などの主要プラットフォームで使用されていましたが、セキュリティが低下することが判明したため、これらのプラットフォームではこの要件が削除されました。これは、クラッキングよりも人的要素の方がはるかに大きなリスクであり、強制的な複雑性によってほとんどのユーザーが非常に予測可能なパターン (末尾の数字、3 を E に置き換えるなど) になり、パスワードのクラッキングが容易になるためです。そのため、パスワードの単純さと長さ (パスフレーズ) が新しいベスト プラクティスであり、複雑性は推奨されていません。強制的な複雑化ルールは、サポートコストの増加、ユーザーエクスペリエンスの低下、そして新規ユーザー登録の阻害にもつながる。
パスワードの有効期限は、以前のパスワードポリシーの一部にありました。しかし、ベストプラクティスとしては否定されており[ 37 ]、米国政府や英国政府、あるいはMicrosoftによってサポートされておらず、Microsoftはパスワードの有効期限機能を削除しました[ 55 ]。パスワードの有効期限は、以前は2つの目的を果たそうとしていました。[ 56 ]
しかし、パスワードの有効期限には欠点があります。[ 57 ] [ 58 ]
長さと文字セットが与えられた場合、最も解読が難しいパスワードはランダムな文字列です。十分に長ければ、総当たり攻撃(文字数が多いため)と推測攻撃(エントロピーが高いため)の両方に耐性があります。しかし、このようなパスワードは通常、最も覚えにくいものです。パスワードポリシーでこのようなパスワードを義務付けると、ユーザーは記憶力の低下に備えて、パスワードを書き留めたり、モバイルデバイスに保存したり、他の人と共有したりするようになるかもしれません。これらのユーザーの行動はいずれもセキュリティリスクを高めると考える人もいますが、数十ものアカウントそれぞれに異なる複雑なパスワードを覚えることをユーザーに期待するのはばかげていると考える人もいます。例えば、2005年にセキュリティ専門家のブルース・シュナイアーは、パスワードを書き留めることを推奨しました。
簡単に言うと、人々はもはや辞書攻撃から確実に防御できるほど強力なパスワードを覚えることができず、覚えられないほど複雑なパスワードを選んで書き留めておく方がはるかに安全です。私たちは皆、小さな紙片を安全に保管するのが得意です。私は、パスワードを小さな紙片に書き留めて、他の貴重な小さな紙片と一緒に財布に入れておくことをお勧めします。[ 21 ]
以下の対策を慎重に実施すれば、強力なパスワード要件の受け入れ度を高めることができる可能性があります。
パスワードポリシーには、パスワードを覚えるのに役立つ記憶術が提案されている場合があります。
多数のパスワードを使用する際の妥当な妥協策は、パスワードマネージャープログラムに記録することです。これには、スタンドアロンアプリケーション、Webブラウザ拡張機能、またはオペレーティングシステムに組み込まれたマネージャーが含まれます。パスワードマネージャーを使用すると、ユーザーは数百の異なるパスワードを使用でき、暗号化されたパスワードデータベースを開くための単一のパスワードだけを覚えておく必要があります。[ 65 ]言うまでもなく、この単一のパスワードは強力で十分に保護されている必要があります(どこにも記録されていません)。ほとんどのパスワードマネージャーは、暗号学的に安全なランダムパスワードジェネレータを使用して強力なパスワードを自動的に生成し、生成されたパスワードのエントロピーを計算できます。優れたパスワードマネージャーは、キーロギング、クリップボードロギング、およびその他のさまざまなメモリスパイ技術などの攻撃に対する耐性を提供します。
パスワードは、現在のセキュリティ強制方法の難しさをいくつか示しています。パスワードは、システムを保護するために知られている最も安価なメカニズムです。しかし、面倒なパスワード要件はセキュリティを低下させ、コストを増加させます。多くの人が覚えやすいパスワードを生成するために簡単なアルゴリズムを使用するか、パスワードを書き留めて簡単に発見できる場所に保存するため、セキュリティが低下します。パスワードを忘れてログインできなくなった多数のユーザーに対応するためにヘルプデスクに人員を配置する必要があるため、コストが増加します。これらの要件は、悪意のある人物を抑止することなく、善良な人物を排除します。