3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NISTがパスワード要件をUpdateしたので、この際だからきちんと覚えよう!

Last updated at Posted at 2025-11-04

0.はじめに

みなさん、こんにちは。

先日、間違ってパスワードマネジャーの設定(データ)を消してしまい、いろんなWebサイトのパスワードリセットをやる羽目になった人間です…
(私にパスワードは早すぎた…)

バックアップの重要性を改めて実感した、今日この頃です。
(大事だとはわかっているのに、やらないことってありますよね…)

そんな中、NISTがSP 800-63をUpdateしました(と聞きました!)。
パスワード回りもUpdateされているようです。

パスワードに苦しめられた私にとって、タイムリーな話です。
さっそく内容を見ていきたいと思います。
(なお、下記の1-1~1-9、2-1~2-10という表記は、筆者独自の表現です)

1. パスワード要件

資料は「NIST SP 800-63 Digital Identity Guidelines」の「SP 800-63B-4 Authentication & Authenticator Management」です。

この資料の「3.1.1.2. Password Verifiers」にパスワード要件が記載されています。

連番付きのパスワード要件は全部で9つです。
(なるべくわかりやすい表現で書いてみます)

  1. 長さは15文字以上、MFA利用時は8文字以上
  2. 最大長は64文字以上
  3. 印刷可能なASCII文字とスペースをパスワードして利用できること
  4. Unicodeをパスワードとして利用できるようにすべき
  5. 異なる文字の混在等のルールは要求しないこと
  6. 定期的なパスワード変更を要求しないこと、パスワード漏洩等による侵害がある場合はパスワード変更を強制すること
  7. パスワードのヒント、パスワード作成時のヒントを保存させないこと
  8. パスワード選択時に「秘密の質問」を使わせないこと
  9. パスワードはすべて入力させること、入力したパスワード全体が一致するか確認すること

さて、解説していきましょう。

1-1. 長さは15文字以上、MFA利用時は8文字以上

MFAを利用していない場合は15文字以上にするルールとなりました。
割と厳しめのルールで、15文字もあると覚えるのが大変ですね。
パスワードマネジャーを使用するか、MFAを併用した方がいいですね。

1-2. 最大長は64文字以上

あくまで64文字のパスワードを(システムとして)設定できるようにしておけ、という話なので、
パスワードの長さを64文字(以上)にしろ、という話ではないです。

1-3. 印刷可能なASCII文字とスペースをパスワードして利用できること

パスワードで利用可能な文字列に対する要求ですね。
パスワードマネジャーがパスワード生成するときに、使えない記号があると困ってしまいますよね。

1-4. Unicodeをパスワードとして利用できるようにすべき

パスワードで利用可能な文字列に対する要求ですね。
これが一般的になると、俳句とか短歌とかをパスワードに使えるようになるのかしら?

1-5. 異なる文字の混在等のルールは要求しないこと

今回は「SHALL NOT」になったため、旧版よりも「やっちゃダメ」感が強まりました。
複雑で短いパスワードよりは、長いパスワードを推奨している感じですね。

1-6. 定期的なパスワード変更を要求しないこと、パスワード漏洩等による侵害がある場合はパスワード変更を強制すること

今回は「SHALL NOT」になったため、旧版よりも「やっちゃダメ」感が強まりました。

1-7. パスワード作成時のヒントを保存させないこと

これがあると、パスワードを推測できてしますのでNGということですね。

1-8. パスワード選択時に「秘密の質問」を使わせないこと

これがあるとパスワードがわからなくても、パスワードが推測できてしまうので、危険ですよね。
例えば「母親の旧姓は?」という質問は、仲の良い友達だったら知ってる可能性がありますよね。

1-9. パスワードはすべて入力させること、入力したパスワード全体が一致するか確認すること

元々は「入力したパスワード全体が一致するか確認すること」だけでしたが、今回は「パスワードはすべて入力させること」が追加されました。

すこし解説すると「パスワードはすべて入力させること」というのは、パスワードの部分入力を禁止するということです。例えば、パスワードとして6桁の数字があったとして、その「3番目だけ」を入力させてパスワードとして正しいか判断することを禁止、という感じです。

もう一つの「入力したパスワード全体が一致するか確認すること」というのは、パスワードの一部だけで判断することを禁止するということです。例えば、パスワードが10桁だとして、先頭8文字だけチェックしてパスワードとして正しいか判断することを禁止、という感じです。

な… 何を言ってるのか わからねーと思うが
昔はそういうシステムが実際にあったんですよ

2. パスワード要件(連番なし)

それでは次に、連番になっていないパスワード要件も見ていきましょう。
(なぜか連番になっておらず、文章で書かれています)

2-1. Unicode正規化

新版では、正規化の方式を「NFC」に統一しています。

Unicodeは見た目が同じでもバイト数が異なることがあるため、それによる混乱を防ぐ処置ですかね。
(このあたり、深堀すると面白いのですが、今回は省略で)

2-2. ブロックリスト

ブロックリストは、使ってはいけないパスワードのリストのことです。
脆弱なパスワード(passwordなど)や、漏洩したパスワード等を一覧化し、パスワードとしての利用を禁止するものです。

2-3. パスワード作成時のガイダンス

今回は「SHALL」になったため、旧版よりも強制力が高まりました。

パスワードポリシーに反するパスワードや、ブロックリストに登録済みのパスワードを入力した場合、パスワード生成が拒否されます。その際に、なぜそのパスワードは使えないのかについて説明を促すことを求めています。

これは、なぜ入力したパスワードがNGか理解できるので、ありがたい機能ですね。

2-4. レート制限

パスワード入力の試行回数を制限するというものです。
ただし、少なすぎるとパスワードリセット要求が頻発するので、適切な入力試行回数を決めるのは、なかなか難しいんですよね…。
(以前、3回でロックしてしまうシステムを使っていた時は苦労しました…)

2-5. パスワードマネジャー、自動入力機能、貼り付け

貼り付けは旧版にもありましたが、それ以外は新規要件です。

パスワードマネジャーの利用や自動入力機能に関する記述が追加されています。
パスワードマネジャーにパスワード生成機能がついていると、ランダムな長めのパスワードを自動で作ってくれるので、助かりますよね!
(まあ、私はパスワードマネジャーに依存して失敗したタイプの人間ですが…)

パスワードのコピペは旧版に引き続き許可されています。
パスワードのコピペが禁止されていると、簡単なパスワードの利用につながってしまうことを危惧してのことでしょう。

2-6. パスワード表示

入力したパスワードを表示したり、入力中のパスワード(最後の一文字)だけを表示したりする機能に関する記述が追加されています。

通常、入力したパスワードは*(アスタリスク)等で表示されると思いますが、特定の方法(目のアイコンのようなものをクリックした場合など)で入力したパスワードが見えるようにすることを認めています。

これはパスワードの入力ミスを減らすためです。
自宅の個室などの誰もいない場所の場合は、とても有益な機能です。
(まちがっても人が多いカフェ等では使わないでくださいね)

2-7. 誤入力の許容

(スマートフォン等の入力で)先頭文字が大文字になってしまったり、不要なスペースが入ってしまったりした場合を考慮した要件となっています。

ただし、パスワード強度が維持できる場合に限る、という制約付きです。
ありがたい機能ですが、設計/実装が大変そうですね…

2-8. 通信の保護

通信経路の安全確保は、セキュリティの基本ですね。

2-9. パスワードの保存方法

パスワード保存時のソルトやハッシュについての記載です。
いまどき、平文でパスワード保存している人はいないと思いますが、単純にハッシュだけでも危険ですよ、ということですね。

ソルトを組み合わせることで、より安全にパスワードを保存できるようになりますね。

2-10. 追加の対策

パスワード(ソルト&ハッシュ)に対し、追加の対策を実施することを推奨しています。
具体的には、パスワード(ソルト&ハッシュ)に対し、さらに鍵付きハッシュ(あるいは暗号化)を追加で実施することを求めています。

さらに、この鍵はHSMやTPM等で保管するように、とも書かれています。
(パスワードを保存しているデータベースと同じサーバに保管しちゃダメ、ってことです)

パスワード(ソルト&ハッシュ)だけで十分対策できているのでは、と思うかもしれません。
しかし、パスワード(ソルト&ハッシュ)が格納されたデータベース(サーバ)が侵害され、パスワード(ソルト&ハッシュ)と、ソルトそのものが盗まれてしまった場合、パスワードが推測できてしまう可能性があります。

そこまで侵害されたら諦める、というのも一つの考えですが、
2-10の対策を実施していれば、防げるインシデントもある、ということです。

9. おわりに

いかがでしたでしょうか?
パスワードを取り扱う際の様々な要素が記載されていて、参考になるのではないでしょうか。

インパクトがあるのは「15文字以上」ですね。
MFAを利用していない場合、15文字以上を覚えるのは厳しいので、パスワードマネジャー必須になりますね。

なお、NISTのルールは、国内でも参考にしている場合があるので、覚えておいて損はないです。
例えば、総務省の「安全なパスワードの設定・管理」には「定期的な変更は不要」と書かれていますが、これはNISTのルールがベースになっています。

同様にNISC(国家サイバー統括室)の「インターネットの安全・安心ハンドブック」にも「パスワードの定期変更は基本は必要なし」と書かれています。

今後、NISTのルールに基づいて、「パスワードは15文字以上」というのがデファクトスタンダードになるかもしれませんね。

覚えきれないので、MFAの実装が増えるかも?
(いやいや、これからはパスキーでしょ?)

ちなみにNISTは「How Do I Create a Good Password?」という記事も出してします。

多要素認証、パスキー、パスワードマネジャーを推奨していますね。
こちらも、参考までに。

97.参考文献

98.更新履歴

  • 2025.11.04 初版

99.EoF(End of File)

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?