IDとパスワードは,最も基本的でかつ有効な本人確認の方法である。その安全性を高めるには,パスワード・ポリシーをできるだけ厳しくすべきと考える人がいるが,大きな誤解である。
「英字の大文字/小文字,数字の組み合わせが必要で,最後が数字で終わってはいけない」「パスワードは毎月変更する必要があり,過去5世代のパスワードは再利用できない」といったポリシーを設定している例を耳にする。こうした複雑なポリシーを設定すると,パスワードが漏えいするリスクよりも,付せん紙にメモされてしまうリスクの方が高くなりやすい。
パスワード認証を用いる場合に考慮・検討すべき機能項目を表にまとめた。注意が必要なのは,どの項目もやみくもに厳しくしてはいけないということである。ポイントは大きく二つある。(1)利用を強制する文字種類の数を安易に増やしてはいけないことと,(2)パスワードの定期変更を安易に迫っていけないことだ。
No | 項目 | 概要 |
---|---|---|
1 | 長さ | パスワードの最小文字数を何文字にするか |
2 | 文字種 | パスワードに含めることを強制する文字種を何にするか |
3 | 有効期間 | 同じパスワードを使用し続けてよい期間をどれくらいにするか |
4 | 期限通知 | パスワードの有効期間が近づいた場合にどう通知するか |
5 | 無効世代 | 過去に使用したパスワードを何世代前まで再利用禁止にするか |
6 | 最低利用期間 | パスワードの最低利用期間をどれくらいにするか(すぐにパスワードを変更できないようにする) |
7 | NGワード | パスワードとして使用してはならない文字列を何にするか |
8 | 変更機能 | パスワードをどのように変更させるか |
9 | リマインダ | パスワードを忘れた場合にどう対処するか |
10 | ロック機構 | パスワードの入力ミスが連続した場合にアカウントをロックするのか |
11 | ロックの解除 | 上記のロックをどのように解除させるか |
(1)利用を強制する文字種類の数を安易に増やしてはいけない
第三者によるパスワードの類推を難しくする方法は大きく2種類ある。文字数を一定以上の長さに制限する方法と,数字や記号など多くの文字種の利用を強制する方法である。第三者が適当な文字列を入力して不正にログインされないようにするのに不可欠な対策だが,文字数が多く,かつ文字種類も多いパスワードは覚えにくい。このため,メモを取ったり,手帳に書いたり,ひどい場合はパスワードを書いた紙をディスプレイの横に張ったりする恐れがある。ポリシーを強めすぎると,安全性は逆に低下するのだ。
安全性が高く,かつ覚えやすいパスワードにするのにお勧めなのが,文字種を増やすよりも,文字数を多くすることである。その方がぐっと安全性が増すからだ。
パスワードのパターン数を実際に計算してみよう。英字の大文字と小文字,数字を使用する場合で,6文字のパスワードの組み合わせは,以下の式で計算できる。
626=56,800,235,584通り
英字の小文字のみで8文字のパスワードの組み合わせは,
268=208,827,064,576通り
実に約3.7倍も類推しづらいことが分かる。
英字の小文字の組み合わせだけなら,文字数が多少多くても,本人が覚えやすいパスワードを考えやすいだろう。注意点としては,容易に類推できてしまうNGワード(氏名,誕生日,社員番号,社名など)を利用しないように指導することである。
パスワードのNGワードはほかに,英語の辞書に載っている英単語がある。英単語を順に試す「辞書攻撃」によって,類推される危険性が高い。しかし,これはパスワードを連続して間違えるとアカウントを使えなくする「アカウント・ロック」機能を実装することで,ある程度リスクを抑えられる。
まとめると,文字数をある程度多くし,アカウント・ロック機能を実装すれば,文字種類の指定など複雑なポリシーをほかに適用しなくても,パスワードが類推される危険性はかなり低くなる。
(2)パスワードの定期変更を安易に迫っていけない
金融機関などのシステムでは,パスワードを毎月変更させているケースが少なくない。同じパスワードを一定期間使っていると,漏えいのリスクが高まるので,定期的に変更すること自体はお勧めしたいポリシーだ。
問題は対象システムの利用頻度である。ユーザーが対象システムを毎日使うなら,まだパスワードを覚えやすいだろう。しかし,月に数度しか使わないようなシステムで毎月パスワードを変えていたら,パスワードを覚えるのはほぼ不可能になる。システムによってポリシーを変えることを検討したい。
NTTデータ ソリューション&テクノロジーカンパニー
基盤システム事業本部MS開発部 部長
シニアITスペシャリスト(セキュリティ)