【アプリ開発】パスワードの取り扱いについて

2017年に、アメリカ国立標準技術研究所(NIST)が「NIST SP 800-63-3」という電子認証についてのガイドラインを発表。そこにパスワードについてのアレコレも書かれています。

特に強制するものではないのですが、Webアプリ開発などでも参考になるのでまとめてみます。

パスワード設定について

  • 利用者が設定する場合、最小8文字
  • 管理者側が設定する場合、最小6文字
  • 複雑性など、他の要素を課すべきではない。すべて数字でもよい

その代わり、以下を禁止する

  • 過去に漏えいが確認されたパスワード
  • 辞書に含まれる言葉
  • 文字の繰り返しや順番で用いること
    • 「aaaaaaaa」といった繰り返しや「1234abcd」のようなアルファベットや数字の順番での使用
  • サービス名、ユーザー名など文脈から特定可能な単語。以下例
    • 「QRXYZ」というサービス名のログイン認証時に、「QRXYZ」という語をパスワードに含ませない
    • ユーザー名「mtanaka」の場合、パスワードに「mtanaka」を含ませない

その他の周辺機能

  • 「秘密の質問」は使うべきでない
  • 利用者が自分でパスワードを設定する場合、パスワード強度メーターを表示すべき
  • 「何回以上パスワード入力失敗したら、ロックされる」機能を搭載すべき
  • 「90日に1度」などの定期的な強制的な変更を行うべきではない
  • パスワードのペースト機能を許可すべき

参考

詳しくは↓

世界の電子認証基準が変わる:NIST SP800-63-3を読み解く

ナカタケワークス

福岡の小さな会社専用のITフリーランスです。シンプルで、地球に優しい IT 環境を。