2008年2月に パスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記を書いた時の反応は、賛否両論という感じだったが、その後、twitterでのつぶやきなどを見るに、「パスワードは定期変更しなくてもいいんじゃない?」という意見は、セキュリティの専門家にも多くなっているような印象を受けている。
そのよう状況の中、以下の記事を読んだ。
辞書攻撃がうまくいかない場合、クラッカーは総攻撃(ブルートフォース攻撃とも言います)を仕掛けます。【中略】仮に1秒間に1000万回の計算ができるとすれば、パスワードのクラックに要する時間は1年にもなりません。どんなに強固なパスワードであっても、1年ももたないということになります。だからこそ、3カ月に1回とか半年に1回はパスワードを変更する必要があるのです。(2ページ目より引用)
http://www.itmedia.co.jp/enterprise/articles/1012/07/news010.html
面白い。1年間でパスワードが破られるという条件(1年で全てのパスワードのパターンを試行できる)下で、パスワードを半年に1度、あるいは3ヶ月に1度変更すると、パスワードはどの程度「破られにくく」なるのか計算で求めてみよう。
まず、半年に1回変更するケース。半年では全てのパスワードパターンの半分を試しているわけだから、最初の半年でパスワードが破られる確率は0.5、破られない確率も0.5。一年を通じてパスワードが破られない確率は、0.5 * 0.5 = 0.25。すなわち、一年間のうちにパスワードが破られる確率は 0.75 となる。
3ヶ月に1度ならどうか。3ヶ月でパスワードが「破られない」確率は0.75だから、1年間パスワードが破られない確率は 0.75の4乗だ。
0.75 ^ 4 = 0.3164
すなわち、一年間でパスワードが破られない破られる確率は、1 - 0.3164 で約 0.68 となる。
つまり、パスワードを3ヶ月毎に変更しても、68%の確率で破られるのだ。これで「安全になる」と言えるのだろうか。
ついでに、究極の定期変更として、ワンタイムパスワードだったらどうか。ものすごく安全性は高まるのだろうか。
ワンタイムトークンなどては、よく6桁の数値がワンタイムパスワードとして表示される。このパターンで計算してみよう。6桁整数のワンタイムパスワードを100万回試すという想定だ。一回あたりの試行で「破られない」確率は、1 - 1/100万 = 0.999999、それが100万回破られない確率には、
0.999999 ^ 1000000 = 0.3679
すなわち、100万回の試行でパスワードが破られる確率は、約 0.63 となる。
どんなに頻繁にパスワードを変更しても、パスワード変更による効果というのはこの程度なのだ。簡単に言えば、100%の確率を60〜70%に減らす程度の効果しかない。こんなあやふやなものに認証を頼るわけにはいかない。
では、なにが悪かったかというと、「全てのパスワードを試行できる」という前提がおかしい。この条件で安全性を保つ方法はない。
どうすればよいか。その答えは二つ。
どちらも、パスワードの定期変更に掛かるコストよりもずっと簡単で効果が明確だ。
パスワードの定期変更が必要という主張は、いったん疑った方がよいだろう。意味がある場合もあるが、それは特殊なケースだけだ。
本を書いています。認証についても一生懸命書いています。出るのは来年になりそうで、もうしばらくお待ちください。
「そもそも」が通じない場合を想定した、一重、二重の防御を行うか、行わないか、を、それぞれ判断すべきだと思います。
このような話題で一番怖いのは「そもそも」を理解せずに、パスワードは変更する必要がないんだ。と、誤った理解が広まってしまうことかと。
もちろんPCIDSSなどでの義務付けはやりすぎだと思いますが。
次の同じ長さの期間Bにパスワードが破られない確率が同じ x になるわけではありません。
どうやるんでしょうか。
変更したことにより、今まで辞書に載ってなかったものが、辞書にある
パスワードになってしまうことってないんでしょうか。
パスワードが漏れてから悪用されるまでの間にパスワードが変更されるのを期待できませんし
変更のタイミングによって悪用を止めさせられるとしても数ヶ月単位では...
「共通パスワードを人の入れ替わりの度に変更」という話ならまだわかりますが
金庫やドアの悪戯対策をコンピュータの世界に持ち込んでいるだけな気が...
>一回あたりの試行で「破られない」確率は、1 - 1/100万
って。100万回で必ずパスワードを突破できるならそうですが、、、
そんな前提を勝手につけたら、都合のよい結果になるのは自明のような気がするのは私だけでしょうか?。