NISTが提唱するパスワードの作成方法 [セキュリティ研究室]

 こんにちは!
 ナビゲータのEVEです。

 今週からログ管理システムの本格的な製造に入っているのですが、1つ問題点を見つけました。それは、いくらログ管理システムの製造を急いでも、管理システムがある一定のレベルで完成していないと、ログを監視できないということ・・・。まっ、ログ管理システムのバッチ処理の部分だけリリースして、問題点が検出されたらメールで送信するなんてことはできますが・・・。ただ、できれば、100%のシステムをリリースしたく、現在、バグ取りとシステムの不整合の部分の修正を併せて行っています。
 その最中に1つの改修に昨日まで、はまっていました。それは、文字コード・・・。MySQLの文字コードは、以前ブログで書いた通り、utf8mb4を採用しています。しかし問題が・・・。項目に不整合が見つかったため、テーブルを修正しようとしたのですが、外部キーが邪魔して修正できない。そのため、テーブルの中身をcsvでエクスポートして、関連するテーブルをすべて作り直したのですが、問題があり、バックアップしたエクスポートDBから戻すタイミングがありました。そうしたら、システムが動かない・・・。それは、データベースを文字コードutf8mb4で作っていたのに、エクスポートしたデータベースは何も指定いませんでした。そのため、エクスポートしたデータベースは標準の文字コードになっていたため、実環境のデータベースと不整合が発生していたようです。それに気づくのに丸一日かかりました。
 DBを途中で修正しようとした場合、標準でないから、いちいち指定しなくてはいけなく、めんどくさいので、メリットがあるかどうか非常に疑問です。その点について、Copilotに聞いたところ、長期的にはメリットがあるそうです。utf8mb4は、UTFと完全互換があるそうです。現在は標準ではないのですが、将来的には標準になるといいたいようです。ただ、今回みたいに、久しぶりにデータベースを修正しようとした場合など、忘れているなんてことは十分に考えられます。
 まっ、今回の件で、忘れることはなくなったと思うので、utf8mb4で運用を続けますが、愚痴りたくなるような出来事でした。
 では、今週は、NISTが提唱するパスワードの設定方法について検討をしてみましょう。

[NISTが提唱するパスワードの作成方法]

 一般の方は知らないと思いますが、NISTは、正式にはNational Institute of Standards and Technologyといい、日本ではアメリカ国立標準技術研究所といわれています。設立は、1901年と古く、現在の役割は、計量学や標準規格の策定、産業技術の進歩を支援、サイバーセキュリティや情報技術の基準を策定などを主任務としています。私としては、サイバーセキュリティ分野でお世話になっていますが、そのNISTから、パスワードについて、いかのような指針が示されました。

    複雑性ルールの廃止
  • 記号・数字・大文字・小文字を必ず混ぜるといったルールは不要。人間が予測可能なパターンを選びやすく、逆効果になるため。
  • 長さを最重要視
  • 単一要素認証の場合 → 最低15文字以上
  • 多要素認証と併用する場合 → 最低8文字以上
  • 最大64文字まで許容。
  • 定期的な変更は不要
  • 90日ごとのパスワード変更は推奨されず、侵害が確認された場合のみ変更すればよい。
  • 秘密の質問・パスワードヒントの廃止
  • 「母親の旧姓」や「好きな色」などの知識ベース認証は安全性が低いため禁止。代わりに回復コードやリンクを利用。
  • ブロックリストの導入
  • 辞書にある単語や過去に漏洩したパスワードを明示的に禁止する仕組みを導入。
  • パスキーや多要素認証の推奨
  • フィッシング耐性のある認証(FIDO2などのパスキー、MFA)を積極的に導入するよう求めている。

[NISTが提唱するパスワード作成方法の考察]

 NISTから提唱されたパスワード作成方法は、総務省が提案した「最初に作ったパスワードを変えるな」という方針と似ているところがあるようです。ようは、定期的に変更するパスワードは、変更しやすいように平易になりやすく、セキュリティの強度が弱くなるといいたいのだと思います。
 今回注目するのは、今まで忘れやすいパスワードは、8文字以上とかいったレベルでしたが、この提唱した内容では、15文字以上となっています。
 パスワード長を伸ばすということは、パスワード解読の難易度を指数的に増やしたいという意図があるようです。それは、暗号鍵長にも言えることなのですが、近年のハードウェアの進化により、短いパスワードは計算により求めやすくなってきているということが推測されます。

[あとがき]

 Xの中でもつぶやきましたが、NISTのこの方針を今後システムを製造するうえでの指針としたいと思います。
 セキュリティって、一度始めるときりがないといったところがあります。それをどのレベルで自システムに取り込み、100%に近いセキュリティを実現するのかという検討が求められています。

 では、また!

コメント