パスワードの「文字種混合」は禁止に?! NISTの新ガイドラインが示す、「パスワードの新常識」と「フィッシング耐性の重要性」。
「セキュリティのために、パスワードは定期的に変更してください」
「パスワードには大文字、小文字、数字、記号を必ず含めてください」
このようなルール、あなたの会社や利用しているサービスにもありませんか?
良かれと思って守ってきた、これらの“常識”。
実は、セキュリティの世界的な「お手本」となるガイドラインでは、これらのルールが明確に「禁止」されようとしています。
私たちシステム開発会社は、こうした最新の技術動向を常にウォッチしています。先日、米国のNIST(ニスト:米国国立標準技術研究所)が公開した認証ガイドライン(SP 800-63-4)が、まさに業界に衝撃を与えています。
「じゃあ、一体どうすればいいの?」 この記事では、NISTが示す「最新のパスワードの本当に正しいあり方」について、分かりやすく解説していきます。
NISTガイドラインとは?(準拠する必要がある?)
まず、NISTとは米国の技術標準を定める「米国国立標準技術研究所」のことです。
このガイドラインは、もともと米国政府機関が調達するシステムのためのセキュリティ基準です。そのため、日本の民間企業が法的に「準拠しなければならない」というものでは(基本的には)ありません。
しかし、NISTが示す基準は、セキュリティのベストプラクティスとして世界的に参照されており、事実上の「グローバルスタンダード(世界的なお手本)」となっています。日本の金融庁が参照するFISCなども、このNISTの動向を強く意識しています。そのため、システム開発に携わる私たちにとって、この動向は決して無視できない重要な指針なのです。
【本題】NISTが示す「パスワードの新常識」詳細解説
今回のガイドライン(主にSP 800-63B)で示された、パスワードに関する重要な方針変更を詳細に解説します。
その前に:「SHALL」と「SHOULD」の違い
NISTの文書を読み解く上で非常に重要なのが、「要件の強さ」を示すキーワードです。特に重要な2つを覚えておきましょう。
- SHALL (SHALL NOT): 「~しなければならない(~してはならない)」。厳格に従うべき「必須」の要件です。
- SHOULD (SHOULD NOT): 「~すべきである(~すべきではない)」。強く「推奨」される要件ですが、必須ではありません。
この違いを踏まえて、新常識を見ていきましょう。
新常識①:「長さ」こそが重要(最低15文字 / 最大64文字以上)
NISTは、複雑さよりも「長さ」を重視しています。
- パスワードのみの認証(単一要素認証)の場合、最低文字数は15文字を要求しなければならない(SHALL)。
- 多要素認証の一部として使う場合(例:ID/パスワード+SMS認証)は、最低文字数を8文字に緩和してもよい(MAY)が、それ以上短くしてはいけない(SHALL)。
- 最大長については、少なくとも64文字までは許可すべき(SHOULD)。短すぎる最大長(例:16文字まで)は、長いパスワードの利用を妨げるため非推奨です。
【根拠となるNIST本文(原文抜粋)】
- Verifiers and CSPs SHALL require passwords that are used as a single-factor authentication mechanism to be a minimum of 15 characters in length.
- Verifiers and CSPs MAY allow passwords that are only used as part of multi-factor authentication processes to be shorter but SHALL require them to be a minimum of eight characters in length.
- Verifiers and CSPs SHOULD permit a maximum password length of at least 64 characters.
新常識②:「複雑さ(文字種混合)」ルールは禁止(SHALL NOT)
これが、今回のガイドラインで最もインパクトのある変更点の一つです。
Verifiers and CSPs SHALL NOT impose other composition rules (e.g., requiring mixtures of different character types) for passwords.
(訳:検証者やCSPは、パスワードに対して(文字種混合を要求するような)他の構成ルールを課してはならない。)
「大文字・小文字・数字・記号を混ぜろ」というルールは、`P@ssw0rd!`のような推測されやすいパターンを生み出すだけで、ユーザーに無駄な負担を強いるため、「禁止(`SHALL NOT`)」とされました。
その代わりに、システム側はASCII印字文字やスペース、さらにはUnicode文字(例:日本語や絵文字)も受け入れるべき(SHOULD) としています。
【根拠となるNIST本文(原文抜粋)】
- Verifiers and CSPs SHALL NOT impose other composition rules (e.g., requiring mixtures of different character types) for passwords.
- Verifiers and CSPs SHOULD accept all printing ASCII characters and the space character in passwords.
- Verifiers and CSPs SHOULD accept Unicode characters in passwords.
新常識③:「ブロックリスト」による弱いパスワードの禁止(SHALL)
「123456」や「password」、過去に漏洩したパスワードリスト(ブロックリスト)と照合し、一致したものは使わせてはならない(必須)とされました。文字種混合より、こちらが重要視されています。
また、ブロックリストによってパスワードが拒否された場合、システム側はユーザーが「次に」強いパスワードを選べるよう、適切なガイダンス(例:「より長いパスワードにしてください」など)を提供しなければならない(SHALL) とされています。これは、ユーザーが「password123」→「password124」のような安易な変更をするのを防ぐためです。
【根拠となるNIST本文(原文抜粋)】
- When processing a request to establish or change a password, verifiers SHALL compare the prospective secret against a blocklist that contains known commonly used, expected, or compromised passwords.
- Verifiers SHALL offer guidance to the subscriber to help the subscriber choose a strong password. This is particularly important following the rejection of a password on the blocklist…
新常識④:「秘密の質問」や「ヒント」は禁止(SHALL NOT)
パスワード設定時によく見かける、以下の機能も「禁止(`SHALL NOT`)」とされました。
- 「最初のペットの名前は?」といった「秘密の質問」(KBA)をパスワード選択時に使わせてはならない。
- パスワードを思い出させるための「ヒント」を、認証されていないユーザーがアクセスできる形で保存させてはならない。
これらは、攻撃者にとって推測が容易な情報が多いためです。
【根拠となるNIST本文(原文抜粋)】
- Verifiers and CSPs SHALL NOT permit the subscriber to store a hint (e.g., a reminder of how the password was created) that is accessible to an unauthenticated claimant.
- Verifiers and CSPs SHALL NOT prompt subscribers to use knowledge-based authentication (KBA) (e.g., “What was the name of your first pet?”) or security questions when choosing passwords.
新常識⑤:パスワードは「全部」検証する(SHALL)
これはシステム側の話ですが、入力されたパスワードは、その全体を検証しなければならない(SHALL) と定められました。
昔のシステムのように「最初の8文字だけ」を検証し、残りを切り捨てる(truncate)ような実装は「禁止(`SHALL`)」 されています。
【根拠となるNIST本文(原文抜粋)】
- Verifiers SHALL request the password to be provided in full (not a subset of it) and SHALL verify the entire submitted password (e.g., not truncate it).
新常識(システム側の実装編):利便性と安全性を両立する裏側の工夫
今回のNISTガイドラインは、ユーザーに見える部分だけでなく、システム側(検証者側)が実装すべき重要なルールも定めています。これらは、ユーザーの利便性と安全性を両立させるための「裏側」の工夫です。
- パスワードマネージャーを許可(SHALL): パスワードマネージャーや自動入力を許可し、入力欄へのペースト(貼り付け)も許可すべき(SHOULD)。これにより、ユーザーは長く複雑なパスワードを覚えずに使えます。
- パスワード表示オプションを提供(SHOULD): 入力中のパスワードを「●」ではなく、一時的に表示できるオプション(「目」のアイコンなど)を提供すべきです。
- レート制限の実装(SHALL): 短時間に何度もログイン失敗する攻撃(ブルートフォース攻撃)を防ぐため、認証失敗回数を制限する仕組み(レート制限)を実装しなければなりません。
- 安全な通信(SHALL): パスワードを送受信する際は、必ずHTTPSのような暗号化された安全な通信経路を使わなければなりません。
- 安全な保存(SHALL): 最も重要なのが保存方法です。パスワードは「ソルト(最低32ビット)」と呼ばれるランダムな文字列を付加した上で、「ハッシュ化」という元に戻せない形式で保存しなければなりません。
- (補足)ペッパーの推奨(SHOULD): さらに、システム側だけが知る秘密鍵(ペッパー)を使った追加の暗号化も推奨されています。これは万が一ハッシュ化されたパスワードリストが漏洩しても、解読を極めて困難にするための高度な手法です。
【ちなみに】「ハッシュ化」「ソルト」「ペッパー」とは?
パスワードの安全な保存を、料理に例えてみましょう。
- 元のパスワード:「お肉」(例:password123)
- ハッシュ化(必須):「お肉」をミキサーにかけて「ミンチ肉」にすることです。ミンチ肉(ハッシュ値)から、元の「お肉」の形には戻せません。
- ソルト(塩・必須):ユーザーごとに「違う種類の塩(ソルト)」を加えてからミンチにします。もしAさんとBさんが偶然同じ「お肉」(同じパスワード)を使っていても、「Aさんの塩」と「Bさんの塩」が違うため、出来上がる「ミンチ肉(ハッシュ値)」は全く別のものになります。これにより、万が一リストが盗まれても、攻撃者は「AさんとBさんが同じパスワードを使っていた」という事実に気づけなくなります。
- ペッパー(胡椒・推奨):さらに、システム側だけが知っている「秘密の胡椒(ペッパー)」を全員のミンチ肉に振りかけます。万が一、「塩入りミンチ肉」のリストが丸ごと盗まれたとしても、攻撃者は「秘密の胡椒」の存在を知らないため、解読がほぼ不可能になります。
【根拠となるNIST本文(原文抜粋)】
- Verifiers SHALL allow the use of password managers and autofill functionality.
- Verifiers SHOULD permit claimants to use the “paste” function…
- …verifier SHOULD offer an option to display the password…
- Verifiers SHALL implement a rate-limiting mechanism…
- Verifiers and CSPs SHALL use approved encryption and an authenticated protected channel when requesting passwords.
- Verifiers SHALL store passwords in a form that is resistant to offline attacks.
- Passwords SHALL be salted and hashed using a suitable password hashing scheme.
- The salt SHALL be at least 32 bits in length…
- …verifiers SHOULD perform an additional iteration of a keyed hashing or encryption operation using a secret key known only to the verifier (通称:ペッパー).
【重点解説】なぜNISTは「フィッシング耐性」を重視するのか
なぜNISTは、ここまでパスワード(記憶された秘密)のリスクを重く見ているのでしょうか。それは、AIによるパスワード解析技術の進化や、大規模な漏洩インシデントの常態化により、「記憶に頼る」という認証方法そのものが限界に来ているためです。
その中でもNISTの新ガイドラインで一貫しているのは、パスワードが持つ根本的な弱点、すなわち「フィッシング耐性がない(原文:`Passwords are not phishing-resistant.`)」という事実です。
「フィッシング耐性がない」とは?
なぜパスワードはフィッシングに弱いのでしょうか。
悪意のある攻撃者が、本物そっくりの「偽サイト」(例:銀行やECサイトの偽ログイン画面)を用意したとします。
ユーザーが偽サイトとは知らずにIDとパスワード(=記憶した文字列)を入力してしまうと、その情報はそのまま攻撃者に盗まれてしまいます。パスワードは、入力先が「本物のサイトか」を区別する仕組みを持っていないため、こうした詐欺に非常に弱いのです。
FIDO/Passkeysが「フィッシング耐性がある」理由
NISTがパスワードの代わりに強く推奨しているのが、「FIDO」や「Passkeys」といった新しい認証技術です。
Passkeysは、技術的に「登録された本物のサイト(ドメイン)」でしか認証が作動しない仕組みになっています。たとえユーザーが偽サイトにアクセスしても、認証キーが(サイトが違うため)作動せず、情報が盗まれません。これが「フィッシング耐性」です。
【ちなみに】NISTが定める「AAL」とは?(認証保証レベル)
NISTは、認証の「信頼性の強さ」を3つのレベル(AAL)で分類しています。レベルが高いほど、強固な認証が求められます。
- AAL1 (レベル1): 基本的な信頼性。シングルファクター認証(パスワードのみなど)でOK。
- AAL2 (レベル2): 高い信頼性。2つの異なる認証要素(多要素認証)が必要。フィッシング耐性のある認証オプションの提供が必須。
- AAL3 (レベル3): 非常に高い信頼性。AAL2の要件に加え、鍵の保持を暗号技術で証明し、その鍵が(デバイスから)エクスポート不可であること(ハードウェアトークンなど)が求められます。
システム会社としての視点
NISTの動向は、単なる「パスワードルールの変更」ではありません。それは、「パスワード(記憶)に依存する認証」から、「フィッシング耐性のある認証(FIDO/Passkeysなど)」へと、セキュリティの軸足を移していく、という大きな流れを示すものです。
もちろん、明日からすべてのパスワードがなくなるわけではありません。しかし、セキュリティレベルの高い「AAL2」以上(※先ほどの補足参照)が求められるシステムでは、パスワードへの依存を見直し、Passkeysの導入を検討することが、今後のグローバルスタンダードとなっていきます。
私たちは「知財管理システム」という、お客様の重要な情報資産をお預かりするシステムを提供しているからこそ、こうした最新の基準や技術動向をいち早くキャッチする必要があります。日進月歩で進化するテクノロジーや、めまぐるしく変わる常識・背景に対しても、常にアンテナを高く張っていく必要性を強く感じています。
また、現在当社が認証取得を進めているISMS(情報セキュリティマネジメントシステム)のようなセキュリティ基準とも融合させていかなければなりません。
そして、このNISTが示す「古い常識の見直し」は、私たちシステム提供者だけでなく、システムを利用するすべての皆様に関わる話でもあります。まずは、皆様ご自身の会社のシステムや、利用しているWebサービスが、今も「パスワードの定期変更」や「複雑な文字混合」をユーザーに強制していないか、確認してみることから始めてみてはいかがでしょうか。その“常識”を見直すことが、新しいセキュリティへの第一歩となります。
まとめ
今回は、NISTの新ガイドラインが示す「パスワードの新常識」について解説しました。
- 「文字種混合」や「定期変更」は、セキュリティ対策として効果が薄いため「禁止(SHALL NOT)」。
- 代わりに「長さ(最低15/8文字)」 と「ブロックリスト(弱いパスワードの禁止)」が重要になる。
- 「秘密の質問」 や「ヒント」 も「禁止(SHALL NOT)」。
- システム側は、パスワードマネージャーの許可、レート制限、安全な保存(ソルト+ハッシュ)が必須。
- 根本的な流れとして、パスワードが持つ「フィッシング耐性のなさ」が問題視されており、今後はPasskeysなどへの移行が推奨される。
パスワードの常識は、確実に変わりつつあります。当社はNISTの最新動向を踏まえ、お客様のセキュリティ強化を支援します。システムの認証セキュリティに関して、ご不明な点があればぜひご相談ください。
【参考サイト】
この記事は、以下の情報を参考に作成しました。





