安全なパスワード管理、パスワード生成とは

セキュリティニュース

投稿日時: 更新日時:

安全なパスワード管理やパスワード生成とは

米国立標準技術研究所(NIST)は2024年8月21日にパスワードポリシーに関するガイドライン「NIST Special Publication 800-63B-4」について、第2版公開草案を発表しました。パスワードの定期変更は推奨されず、多要素認証やパスワードマネージャーの仕様が推奨されています。

今回の記事では、NISTの概要から安全なパスワード設定や管理、作成、生成の推奨事項などについて解説していきたいと思います。

安全なパスワード管理や生成とは

2024年8月21日にパスワードポリシーに関するガイドライン「NIST Special Publication 800-63B-4」を反映すると推奨されるパスワードやパスワードの設定管理は以下になります。

  • 8文字以上のパスワード
  • 定期変更は不要
  • パスワードマネージャーでパスワードを管理・生成する
  • 多要素認証(MFA)の実施・導入
  • 12345などのパスワードを排除する為にブラックリストチェックを実施
  • パスワードをハッシュ化して保存する

2017年頃からパスワードの定期変更は、かえってセキュリティリスクを増加させるとして除外されています。

また、パスワードの管理や生成の際に、パスワードマネージャーと多要素認証(MFA)が追加されました。パスワードマネージャーは特に強力なマスターパスワードの設定や、パスワードの安全な保管で奨励されています。

Microsoft(マイクロソフト)の研究によると多要素認証(MFA)を利用する事によりセキュリティの侵害リスクを 99.22% 削減し、パスワードが漏洩した際のセキュリティリスクを 98.56% 削減することが示されました。

多要素認証(MFA)ツールはグーグルやMicrosoftなどがアプリを無料で提供しており、簡単に利用できますので、個人でも組織でも多要素認証(MFA)や長いパスワード、パスワードマネージャーを設定する事は直ぐにできるセキュリティ対策になります。

NISTの概要

NISTとは「National Institute of Standards and Technology」の略称であり、「国立標準技術研究所」と訳されます。1901年から1988年までは国立標準局(NBS)と称していました。

NISTはアメリカ合衆国の国立の計量標準研究所であり、アメリカ合衆国商務省の配下にあります。公式任務として、下記を掲げており、米国の経済の安全性を高め、生活の質を向上させる方法で計測科学、標準、技術を進歩させることにより、米国のイノベーションと産業競争力を促進しています。

なお、NISTには、科学者、技術者、工学者、など多分野にわたる専門家が在籍しており、また、国内外問わず、あらゆる専門家を受け入れています。科学者の中にはノーベル賞を受賞した科学者も含まれています。

公式任務に関わる様々な研究ユニットやプログラムがありますが、その中の一つとして、情報セキュリティに関する標準とガイドラインの策定にも携わっています。

サイバーセキュリティの文脈では、2014年2月にNISTは、組織がサイバーセキュリティリスクを管理および削減するための自主的なガイダンスとして機能するNISTサイバーセキュリティフレームワークを公開しました。その後、修正され、バージョン1.1が2018年4月に公開されました。 なお、大統領令13800「連邦ネットワークと重要なインフラストラクチャのサイバーセキュリティの強化」により、このフレームワークは米国連邦政府機関に義務付けられることとなりました。また、NISTサイバーセキュリティフレームワークは、2019年に導入されたサイバーセキュリティ成熟度モデル(CMMC)で拡張されることとなりました。

また、NISTはサイバーセキュリティに関する草案を公開し、2023年11月4日までパブリックコメントを募集しました。NISTは、フレームワークを使用する中小企業により適用しやすくするとともに、サイバーセキュリティの絶えず変化する性質に対応するためにフレームワークを更新することを決定しました。

2024年8月、NISTは量子コンピュータの攻撃に耐えられるように設計された暗号化ツールの最終イメージをリリースしました。これらの量子暗号標準は、機密性の高い電子メールメッセージから現代の経済を推進する電子商取引まで、幅広い電子情報を保護することを目指します。

パスワードの推奨事項

2024年8月にNISTが公開した「NIST Special Publication 800-63B-4」の第2版公開草案に記載のあるパスワードの推奨事項について解説していきます。

パスワードの定期変更は不要

なお、すでに2017年6月において、NISTが公開した「電子認証に関するガイドライン(NIST Special Publication 800-63B)」により、パスワードの定期的な変更をユーザに要求すべきではない、との記載がありました。これを受けて、日本の総務省でも一般の利用者向けに、パスワードの定期的な変更は不要であることを推奨しています。

2024年8月の「NIST Special Publication 800-63B-4」の第2版公開草案の中では、2017年6月の「電子認証に関するガイドライン」より、さらに一歩進んで、「パスワードを定期的に変更することをユーザに要求してはならない」という強い表現に変更されました。

定期的にパスワードを変更することによる、パスワード作成のパターン化や使いまわしが問題であり、定期的にパスワードを変更するよりは機器媒体やサービスの間での使いまわしの無い、固有のパスワード設定の方がリスクが少ない、ということが背景にはあるようです。

また、ガイドライン草案では次の推奨事項も挙げています。

  • パスワードの最大長を少なくとも64文字まで許可すべきである。
  • パスワードに対して他の構成ルール(異なる文字タイプの組み合わせを要件にするなど)を課してはならない。
  • パスワードのヒント(出身は?)などを利用しない

補足として、パスワードが短すぎるとブルートフォース攻撃(総当たり攻撃)や辞書攻撃(「password」や「123456」などの一般的な用語や人物名・地名・単純な文字列など、特定の意味を持つ単語からパスワードを推測する手法)を受けやすくなることや、ユーザは合理的な範囲内で好きなだけ長いパスワードを作成するよう推奨されるべきだとも記載されています。

パスワードをより複雑にするよりも、より長くすることに重点を置いたものと考えられます。

他にも、複雑すぎるパスワード要件が勧められない背景として、複雑にしすぎてパスワードが覚えられないために保管が行き届かないメモ書きや、安全でない方法で電子的に保存したりする可能性についての記載もあります。

またパスワードのヒントはSNSや一般公開されている情報などから推測可能になっているので、推奨事項から除外されています。

細かい最新規則

パスワードの取り扱いに関する最新の規則は「NIST Special Publication 800-63B-4」の下記リンクから確認することができます。

https://pages.nist.gov/800-63-4/sp800-63b.html#password

参考にパスワードに関する該当箇所の日本語訳の内容も下記に記載します。なお、CSPとは「クラウドサービスプロバイダ」のことであり、Google Cloud、Microsoft Azure、Amazonウェブサービス、などのIT企業を指します。

パスワードには次の要件が適用されます。

  1. 検証者と CSP は、パスワードの長さが最低 8 文字であることを要求するものとし、パスワードの長さが最低 15 文字であることを要求する必要があります。
  2. 検証者と CSP は、パスワードの最大長を少なくとも 64 文字に許可する必要があります。
  3. 検証者とCSPは、パスワード内のすべての印刷可能なASCII [RFC20]文字とスペース文字を受け入れる必要があります。
  4. 検証者と CSP は、パスワードにUnicode [ISO/ISC 10646]文字を受け入れる必要があります。パスワードの長さを評価する際、各 Unicode コード ポイントは1 文字としてカウントされます。
  5. 検証者および CSP は、パスワードに対して他の構成ルール (異なる文字タイプの混在を要求するなど) を課してはなりません。
  6. 検証者と CSP は、ユーザーにパスワードを定期的に変更することを要求しません。ただし、認証子の侵害の証拠がある場合は、検証者は変更を強制する必要があります。
  7. 検証者と CSP は、認証されていない請求者がアクセスできるヒントを加入者が保存することを許可してはなりません。
  8. 検証者および CSP は、加入者にパスワードを選択する際に知識ベース認証 (KBA) (例: 「最初のペットの名前は何でしたか?」) やセキュリティの質問を使用するように求めてはなりません。
  9. 検証者は、送信されたパスワード全体を検証する必要があります(つまり、切り捨てないでください)。

パスワードに Unicode 文字が受け入れられる場合、検証者はUnicode正規化形式 [UAX15]のセクション 12.1 で定義されている NFKC または NFKD 正規化のいずれかを使用して、安定化文字列の正規化プロセスを適用する必要があります。このプロセスは、パスワードを表すバイト文字列をハッシュする前に適用されます。Unicode 文字を含むパスワードを選択する加入者は、エンドポイントによっては一部の文字が異なる方法で表される場合があり、それが認証の成功に影響する可能性があることを通知される必要があります。

パスワードの設定または変更のリクエストを処理する際、検証者は、既知の一般的に使用されている、予想される、または侵害されたパスワードを含むブロックリストと、潜在的な秘密を比較する必要があります。比較の対象となるのはパスワード全体であり、そこに含まれる可能性のある部分文字列や単語ではありません。たとえば、リストには以下が含まれますが、これらに限定されません。

  • 過去の侵害記録から取得したパスワード
  • 辞書の単語
  • サービス名、ユーザー名、それらの派生語などの文脈依存の単語

選択されたパスワードがブロックリストにある場合、CSP または検証者は加入者に別の秘密を選択するよう要求し、拒否の理由を提供するものとします。ブロックリストはブルートフォース攻撃から保護するために使用され、失敗した試行は以下に説明するようにレート制限されるため、ブロックリストは、加入者が試行制限に達する前に攻撃者が推測する可能性のあるパスワードを選択できないように十分なサイズである必要があります。

ブロックリストはオンライン攻撃を防御するために使用されるため、ブロックリストが大きすぎるとセキュリティ上のメリットはほとんど得られません。オンライン攻撃は、セクション 3.2.2で説明されているスロットリング要件によってすでに制限されています。

検証者は、加入者に強力なパスワードの選択を支援するためのガイダンスを提供するものとします。これは、ブロックリスト上のパスワードが拒否された後に、リストされている弱いパスワード[ブロックリスト]の軽率な変更を阻止するため、特に重要です。

検証者は、セクション3.2.2に記載されているように、加入者アカウントで実行できる認証試行の失敗回数を効果的に制限するレート制限メカニズムを実装する必要があります。

検証者はパスワード マネージャーの使用を許可する必要があります。検証者は、使用を容易にするために、申請者がパスワードを入力するときに「貼り付け」機能を使用できるようにする必要があります。パスワード マネージャーは、特にパスワード ジェネレーター[Managers]が含まれている場合、ユーザーがより強力なパスワードを選択する可能性が高くなることが示されています。

申請者がパスワードを正しく入力できるように、検証者は、入力中および検証者に送信されるまで、一連のドットやアスタリスクではなく、秘密を表示するオプションを提供する必要があります。これにより、申請者は画面が監視される可能性が低い場所にいる場合でも、入力を確認できます。検証者は、正しい入力を確認するために、各文字が入力された後、申請者のデバイスが短時間、入力された個々の文字を表示することを許可することもできます。これはモバイル デバイスでは一般的です。

検証者は、処理後にパスワードが少なくとも必要な最小長を維持する限り、検証前に先頭と末尾の空白文字を削除したり、先頭の文字の大文字と小文字が異なるパスワードの検証を許可したりするなど、入力ミスを考慮に入れることができます。

検証者と CSP は、パスワードを要求する際に、承認された暗号化と認証された保護されたチャネルを使用する必要があります。

検証者は、オフライン攻撃に耐えられる形式でパスワードを保存するものとします。パスワードは、適切なパスワード ハッシュ スキームを使用してソルト化およびハッシュ化されるものとします。パスワード ハッシュ スキームは、パスワード、ソルト、およびコスト係数を入力として受け取り、パスワード ハッシュを生成します。その目的は、ハッシュ化されたパスワード ファイルを入手した攻撃者にとって、各パスワードの推測をより高価にし、推測攻撃のコストを高くまたは法外にすることです。選択されたコスト係数は、検証者のパフォーマンスに悪影響を与えない範囲で可能な限り高くする必要があります。コンピューティング パフォーマンスの向上を考慮して、時間の経過とともに増加する必要があります。 [SP800-132]の最新版で公開された承認済みのパスワード ハッシュ スキーム、またはパスワード ハッシュ スキームに関する更新された NIST ガイドラインを使用する必要があります。パスワード検証者の選択された出力長 (ソルトとバージョン情報を除く) は、基礎となるパスワード ハッシュ スキーム出力の長さと同じである必要があります。

まとめ

今回の記事では2024版パスワードガイドラインについて、2024年8月にNISTが公開したパスワードポリシーに関するガイドライン「NIST Special Publication 800-63B-4」を参考に解説しました。サイバー攻撃にあう危険性は以前にも増して身近になってきています。ぜひ自身の関心事として、本記事が皆さまのご参考になると幸いです。