【アプリ開発】パスワードの取り扱いについて
2017年に、アメリカ国立標準技術研究所(NIST)が「NIST SP 800-63-3」という電子認証についてのガイドラインを発表。そこにパスワードについてのアレコレも書かれています。
特に強制するものではないのですが、Webアプリ開発などでも参考になるのでまとめてみます。
パスワード設定について
- 利用者が設定する場合、最小8文字
- 管理者側が設定する場合、最小6文字
- 複雑性など、他の要素を課すべきではない。すべて数字でもよい
その代わり、以下を禁止する
- 過去に漏えいが確認されたパスワード
- 辞書に含まれる言葉
- 文字の繰り返しや順番で用いること
- 「aaaaaaaa」といった繰り返しや「1234abcd」のようなアルファベットや数字の順番での使用
- サービス名、ユーザー名など文脈から特定可能な単語。以下例
- 「QRXYZ」というサービス名のログイン認証時に、「QRXYZ」という語をパスワードに含ませない
- ユーザー名「mtanaka」の場合、パスワードに「mtanaka」を含ませない
その他の周辺機能
- 「秘密の質問」は使うべきでない
- 利用者が自分でパスワードを設定する場合、パスワード強度メーターを表示すべき
- 「何回以上パスワード入力失敗したら、ロックされる」機能を搭載すべき
- 「90日に1度」などの定期的な強制的な変更を行うべきではない
- パスワードのペースト機能を許可すべき
参考
詳しくは↓
世界の電子認証基準が変わる:NIST SP800-63-3を読み解く