MENU

2025年8月更新|NISTのパスワードポリシー最新動向〜使いやすさと強度の両立へ〜【セキュア開発技術Blog】

NIST(米国国立標準技術研究所)は、2025年8月26日に「NIST SP 800-63B」(デジタル認証ガイドライン)を更新しました。それに伴い、パスワードに関する要件も大幅に見直されています。本記事では、NISTのパスワードポリシー最新動向について解説します。

目次

NISTとは?

NIST は、National Institute of Standards and Technology の略称で、アメリカ合衆国の 国立標準技術研究所 のことです。技術や情報セキュリティに関する標準化を行っている政府機関で、暗号・認証・リスク管理といった分野で世界的に影響力のあるガイドラインを発行しています。

特に「NIST SP 800」シリーズは、政府機関だけでなく一般企業や開発者にも広く参照されており、セキュリティ対策のベースラインとして扱われることが多いです。この文書ではパスワードのほかにも、さまざまな認証方式が解説されていますが、今回はその中でも「パスワード(3.1.1項)」に焦点を当てて見ていきたいと思います。

参考:【 NIST SP 800-63B 】(デジタル認証ガイドライン)
https://pages.nist.gov/800-63-4/sp800-63b.html

AAL(Authenticator Assurance Level)とは

本書では、AAL(Authentication Assurance Level/認証保証レベル) という概念が定義されています。AALは認証トランザクションの強度を分類するカテゴリです。
AALは AAL3 > AAL2 > AAL1 の順で厳格になっていき、上位レベルは下位レベルの要件を包含しています。

  • AAL1
    ユーザ自身が管理する単一の認証要素を利用する、最も基本的な認証方式。
    単要素認証または他要素認証のどちらかが必要であり、MFA(多要素認証)の導入が推奨されます。
  • AAL2
    2つ以上の異なる認証要素をユーザが所有・管理していること(MFA)を前提とし、より高い信頼性を提供します。
    また、フィッシング耐性のある認証手段 を提供しなければなりません。
  • AAL3
    最も厳格なレベル。公開鍵暗号を利用して鍵の所有を証明し、
    エクスポート不可能な認証鍵 や フィッシング耐性のある要素 が必須です。

今回扱うパスワードは主に AAL1 に該当しますが、AAL2 や AAL3 の環境でも使用される基本的な要素です。

最新のパスワードポリシー

それでは、実際に更新されたNISTのパスワード要件を見ていきましょう。
( ProactiveDefense の脆弱性診断で、検証している項目には、☆マークを付けています。)

パスワードの長さは 15文字以上 でなければならない(☆)

パスワードは桁数を増やすほど総当たり攻撃に強くなります。特に従来の「8文字+複雑性」に比べ、15文字以上の長いパスワードは格段に破られにくくなります。

多要素認証を併用する場合は 8文字以上 でもよい

パスワードだけに依存しない仕組み(スマホ認証、ハードウェアキーなど)と組み合わせることで、攻撃者はパスワード以外のセキュリティ要素を突破する必要が生まれます。その結果として、セキュリティ上のリスクがMFAによって軽減されるため、8文字以上でもよいとしています。

スペースを含むASCII文字列 を受け付けてもよい

「長い文章」をそのままパスフレーズとして使用できるため、覚えやすく、入力もしやすい工夫が可能になります。
例)「my son loves soccer very much」

64文字以上 のパスワードを許可すること(☆)

パスワードの最大の長さを固定することは攻撃者を利する弱点となります。一つの目安として64文字を超える長さを許可することで、より長いパスワードを利用できることに加えて、セキュリティと利便性が両立できます。

複雑さルール(例:文字種の強制や最大長)を課さないこと(☆)

記号や大文字の強制は、予測しやすいパターンのパスワードを入力するという課題がありました。例えば、「Password」というパスワードを入力しようとして、数字の強制をされた場合、「Password1」などのパスワードになりがちです。また、それに加えて記号の強制をされた場合は、「Pasword1!」などの一部が予測できるパスワードになりがちです。

定期的なパスワード変更は不要ただし、侵害が発生した場合は変更を強制すること

「90日で変更」などのパスワードの更新を強制するルールでは、「Password1」の次のパスワードが「Password2」と言ったようなパスワードのパターン化を招きます。変更の強制は漏えいが疑われる場合のみに限定することが推奨されます。

パスワードのヒントは保存しないこと

ヒント情報は推測材料になりやすく、攻撃者に手がかりを与える危険性があります。ヒント頼りの運用から脱却することが重要です。

秘密の質問は使用禁止(☆)

「母親の旧姓」「卒業した学校」などはSNS等で比較的簡単に推測・取得されやすく、推測耐性が非常に弱い認証要素です。

パスワードの切り捨ては禁止(☆)

システム側で一定文字数で切り捨てると、利用者が設定した強度が削がれる、攻撃者の推測範囲が減る、そもそも次のログインタイミングで利用者がログインできないという問題が発生します。

パスワード運用時の推奨事項

続いて、運用者がパスワードをどのように扱うべきかについても示されています。

パスワード設定・変更時には、ブロックリストを利用して弱いパスワード(侵害済みのもの・辞書単語・サービス名など)を拒否する

「password」「111111」など典型的な弱いパスワードや、漏えい済みパスワードをそのまま利用してしまうと、攻撃者に一瞬でログインされてしまいます。そのためサービス側が 事前に危険なパスワードを排除する仕組みを実装することが求められます。

ブロックリストを採用した場合は、ユーザが強力なパスワードを作成できるようにガイドする

拒否メッセージを出すだけでは、ユーザーはどう改善すべきか分かりません。強力なパスワードを選択できるように支援する指針を示すことで、セキュリティとユーザビリティを両立できます。

パスワードは 適切なハッシュアルゴリズムとソルト を用いて安全に保存する(☆)

パスワードを平文やMD5などで持たず、侵害が起きた際でも解読されないよう、ソルト付きハッシュで保護する必要があります。

パスワード管理ツールやブラウザの自動入力機能の利用を許可する(Ctrl+Vなどによる貼り付けも許可が望ましい)

パスワード管理ツールによるパスワードの保存は、ユーザがより強力なパスワードを選択する可能性を高めると記載されています。また、貼り付け機能を許可することにより、自動入力が出着ない場合でもパスワード管理ツールの使用を容易にすることが出来、手入力によるエラーを防ぐことができます。

パスワード入力欄では、ユーザが入力内容を確認できるような表示用オプションを提供することが望ましい

パスワード入力欄でのマスク(●●●)表示のみの場合、ユーザの誤入力につながりやすいため、目のアイコンや「表示」ボタンなどで確認できる設計が推奨されます。見られる心配のない環境では、可視化はユーザビリティと安全性の両方を向上させます。

連続認証失敗回数によるアカウントロックを100回以下にする。(☆)

ブルートフォース攻撃に対して、無制限のログイン試行は大きなリスクです。100回以下で失敗を制限することで、セキュリティ上のリスクとユーザビリティのバランスをとることができます。100回という数字は試行回数の上限値であるため、より低い回数に設定することでリスクを減らすことができます。

まとめ

パスワードに関するガイドラインは、時代や環境の変化に合わせて柔軟にアップデートされていきます。古い常識にとらわれたままでは、セキュリティ低下だけでなく、ユーザ体験や業務効率にも悪影響を及ぼしかねません。そのため、こうしたニュースが発表された際には、最新の内容を参考にしながら、開発中・運用中のサイトへ適切に反映していくことが望ましいです。

日々変化するセキュリティ環境に合わせて改善を続けていくことが、結果的にユーザを守り、企業の信頼性を高めることにつながるはずです。

この記事を書いた人
山田 主税

株式会社神戸デジタル・ラボ
デジタルビジネス本部 Securityチーム オーナー

奈良高専情報工学科卒。2019年にKDLに入社。SecurityチームでWebアプリの脆弱性診断に従事。
日々のセキュリティニュースを追いかけながら、社内に展開。
列挙されているものを読んで作業するのが苦手なので、業務の自動化に勤しんでいる。Burp Suiteの拡張機能を自作するための記事などを投稿。

  • URLをコピーしました!
目次