「記号と大文字を混ぜて8文字以上、90日ごとに変更」。多くの病院の情報システムで、いまも現役のルールです。
ところが、世界標準である米国NISTのガイドライン(SP 800-63B、2025年7月に第4版確定)は、複雑性の強制と定期変更の強制を、どちらも廃止しました。人間はそのルールの下では弱いパスワードを作るというエビデンスが理由です。
ㅤ
旧常識と新基準の対照表
比較
パスワードの旧常識 vs NIST SP 800-63B-4(2025年確定)
| 論点 | 旧常識 | 現行基準 |
|---|---|---|
| 複雑さ | 記号・大文字・数字を強制 | 強制しない(長さのほうが効く) |
| 長さ | 8文字あればよい | 最低8文字、15文字以上を推奨 |
| 定期変更 | 90日ごとに強制変更 | 強制しない(漏洩の兆候があった時だけ変更) |
| チェック | 形式チェックのみ | 既知の漏洩パスワード一覧と照合して弾く |
強制された人間は P@ssw0rd! のような、規則は満たすが予測しやすいパスワードを作ります。効くのは複雑さでなく長さです。短く複雑な文字列より、長いパスフレーズのほうが総当たりに強い。
ㅤ
それでも本命は、パスワードをなくすこと
現行基準がいちばん推しているのは、良いパスワードではなくパスキー(passkey)です。端末の中の秘密鍵と、指紋や顔認証を組み合わせてログインする仕組みで、利用者は何も暗記しません。
フィッシングへの強さ
偽サイトに騙されて入力すれば盗まれる。防御は利用者の「気をつける」頼み。
本物のサイトのドメインと紐づいており、偽サイトではそもそも動作しない。「仕組み上できない」防御。
SupabaseやClerkなどの認証サービスは、パスキーやMagic Link(メールのリンクでログイン)を設定で選べます。AIへの指示はこうです。
「ログインはパスワードではなく、パスキー対応(なければMagic Link)で実装して。パスワードを使う場合は、最低8文字・複雑性要件なし・漏洩パスワードリストとの照合ありで」
ㅤ
忘れがちな2つのドア
忘れがちな2つのドア
管理画面そのもの
SupabaseやVercelの自分自身のアカウント。ここが破られるとRLSも環境変数も金庫ごと持っていかれる。対策はMFA(多要素認証)。Supabase公式の本番チェックリストも、利用者向け設定より先に「まず自分の管理アカウントにMFAを」と書いている
パスワードの使い回し
利用者は他サービスと同じパスワードを使い回す。他所で漏れたパスワードで正面からログインされる(リスト型攻撃)。これが漏洩パスワードとの照合が基準に入った理由
明日のアクション
今日中にやる3点
- Supabase・Vercel・GitHubの自分のアカウントにMFAを設定する(アプリより先に自分)
- 自分のアプリのログイン方式を確認し、パスキーまたはMagic Linkへの移行をAIと検討する
- パスワードを残す場合、「複雑性強制・定期変更強制」が入っていたら外す(長さと漏洩照合に置き換える)
ㅤ
セルフチェック
1. NIST SP 800-63B-4(2025年確定)のパスワード基準として正しいのはどれ?
ㅤ
次のレッスン
ドアの守りはできました。次回は、ドアから入ってくるものの話です。利用者の入力欄も、AIの出力も、信用した瞬間に武器になります。インジェクションという古典と、プロンプトインジェクションという新顔をまとめて扱います。
ㅤ
参考・出典
- NIST. "SP 800-63B-4: Digital Identity Guidelines, Authentication and Authenticator Management" (July 2025). https://csrc.nist.gov/pubs/sp/800/63/b/4/final
- Supabase公式. "Production Checklist"(管理アカウントのMFA推奨). https://supabase.com/docs/guides/deployment/going-into-prod
- FIDO Alliance. "Passkeys". https://fidoalliance.org/passkeys/