認証システムを作る際によくある方法として、IDとパスワードによる認証がある。
その際にパスワードの扱いでよく見るのが、以下のもの
----------------
1. 8文字以上
2. 英数記号を含める
3. 定期的(3ヶ月程度)に変更する
4. パスワードを忘れたら「秘密の質問」に答えることで代替措置を取る
----------------
そもそも、これらについて全般的に少し疑問に思っているところがある。
1. 8文字以上 2. 英数記号を含める
ブルートフォースアタックでパスワードをクラックされる場合にかかる時間を考慮しての事かと考えますが、PCの性能が上がるにつれて複雑さや長さが増やす必要があるので、文字数の規定があまり意味が無い。
3. 定期的(3ヶ月程度)に変更する
変更コストが高く、安易な変更にやりやすい。つまり、より簡単な覚えやすいパスワードを設定していく危険性が高い。
4. パスワードを忘れたら「秘密の質問」に答えることで代替措置を取る
パスワード以上に秘密の質問や答えを忘れる。
パスワードよりも調べたら分かることになっている場合が多い
3,4に関しては2017年の8月頃に明確に否定されている。
「パスワードの定期変更」「秘密の質問」を明確に否定
jp.wsj.com
blogos.com
パスワードの扱いについてどうするかを考える大本になっていたのが、「NIST SP800-63-2 Appendix A」の,パスワード規則に関する記述だと考えられますが、今回NIST から否定が入っているので既存のシステムは根本的に考える必要があるかと。
今後のパスワードのガイドラインをどうするのかという点については議論の余地がありそうですが、いくつかの記事を見たところ以下の様な要素になりそうだと考えます。
記号を無理に使うよりは,覚えやすく「長い」こと
覚えられないパスワードは結局(利用者に)淘汰されてしまうので、単純でも長い方がいい
matsutakegohan1.com
パスワード変更は「盗難など,第三者に使われた可能性を認識した」とき
問題が無い限りはパスワードを変えない方がいいし、定期的に変えるよりももっと効果的な方法がある
blog.tokumaru.org
サービスごとにパスワードを変える
サービス側で漏えいすることもある、漏えいしていないものの安全が脅かされないように異なるパスワードにする
サービスを提供する側の場合は「ワンタイムパスワード」や「二段階認証」等パスワードが漏えいしても堅牢な仕組みを考える方がよいかと
【参考資料】
NIST SP 800-63 Digital Identity Guidelines
セキュリティ関連NIST文書:IPA 独立行政法人 情報処理推進機構
第37回 2017年8月~見直されるパスワード規則~特殊文字も変更間隔も規定しない現在の標準:インフラセキュリティの処方箋|gihyo.jp … 技術評論社