読者の方は「あなたのパスワードは強固ですか?」と聞かれて,即座に「はい」と答えられるだろうか。大抵の人は「分からない」あるいは「いいえ」と答えるのではないだろうか。かく言う筆者も恥ずかしながらぜい弱なパスワードを使っているユーザーの一人だ。パスワードのヒントさえわかれば,第三者にすぐにばれてしまうだろう。パスワードはその性質上,覚えやすい文字列になりがちである。

 推測されにくいパスワードはどのように作ればいいだろうか。実はこれが難しい。自分では推測できないと思っていても,第三者からはいとも簡単に破られてしまう可能性がある。では,パスワードを破るツールを使って,実際にどの程度の時間でパスワードが破られるかを計測してみたらどうだろう――。

 こうして実現したのが,この10月に日経バイトが主催したセキュリティ・スタジアム 2002(関連記事)の併設コーナー「パスワードぜい弱性チェック・コーナー」である。

 このコーナーは,パソコンに向かい,自分のユーザー名とパスワードを入れて実行ボタンを押すと,破られにくさに応じた得点,破られるまでの時間,ランキングが表示されるというもの。時間に関しては1.6GHzのPentium4マシンで実行した場合の値が示される。セキュリティ技術者チーム「SecurityFriday.com」が考案/開発したソフトウエアを走らせて実現した。

登場する順番が遅いものほど高得点

 このソフトウエアには,現在,最も解析精度が高いといわれるパスワード・クラッキング・ツール“John the Ripper”のアルゴリズムが組み込まれている。パスワード・クラッキング・ツールとはその名の通り,パスワードを割り出すツールのこと。総当たり(ブルートフォース)でパスワードを試行し,合致するものを見つける。

 総当りといっても,単純にaaa,aba,abb・・・という具合に順番に試すのではなく,人がパスワードとして利用しがちな文字から順番に試していく。例えば,先頭の文字は「a」ではなく「e」が多い,「e」が選ばれた場合には「n」が二文字目に使われやすいといった傾向がすべて組み込まれている。

 今回のパスワード・チェック・プログラムではJohn the Ripperが探す約7兆5000万個のパスワードのうち,何番目に登場するかを計算して点数を算出している。7兆5000番目に登場すれば100点,3兆7500万番目なら50点というわけだ。

 今回のプログラムでは,総当たりする前にパスワードがユーザー名と同じでないかなどをチェックした後,passwordやtestといったありがちなパスワードについても辞書ファイルでチェックした。もしここでパスワードが一致した場合には「-100点」と表示している。

 John the Ripperは,人間のパスワード選択の傾向をうまくアルゴリズム化している。会場の後ろで様子を見ていたSecurityFriday.comのメンバーによれば「感覚でしかないが,おおむね10人中に9人,約9割の人は3点以下の点数しか取れていなかった。また,半数の人は1点以下だったろう」という。John the Ripperの予測精度はかなり高かったようだ。

強力なパスワード選択のコツ

 ここまで読んで「単語になっていない文字列なら人間が容易に想像できないだろう。それなら強固なパスワードといってもいいはずだ」と思う方もいるかもしれない。例えば「x5aFy2Q」のような意味のない文字列で作ったパスワードだ。それはその通りなのだが,実際にはもう少し規則性がある。

 それでは,どんなパスワードなら強固といえるのか。種明かしとして,どんなパスワードが点数が高くなるのかを解説しておこう。

 実は1文字目に何を選ぶかが大きなポイントとなる。John the Ripperでは先に解説したように先頭の文字の確率,次の文字の確率という順番でパスワードを推測していく。先頭の文字として選ばれる確率が低いほど後ろの方で試行されるので点数は高くなる。

 1文字目として選ばれにくい順番に並べれば「¥”}|{‘><:][=,~+’/);(」という具合になる。つまり,一文字目に「¥」を入れるだけでもそのパスワードの強度が一気に上がるのだ。

 ただし,ここでこの種明かしをしたために「¥」をつけたパスワードが一般的になるかもしれない。そうなればこれも弱いパスワードということになる。とはいうものの,文字列や数字ばかりのパスワードよりは推測されにくいとは言えるだろう。「1」や「i」の代わりに「|」,「a」の代わりに「@」を入れるなど,自分なりのルールで文字,数字を記号に直せば,パスワードは強固になっていく。ぜひ実践していただければ幸いである。

入力したパスワードはその場で破棄

 最後に,IT Proのニュースでパスワードぜい弱性チェック・コーナーを取り上げた際,多くの読者から「パスワードを保存して悪用されるのでは」という懸念をいただいた(記事へ)。ニュースではこの懸念について言及しておらず,言葉足らずだった。

 皆さんのご指摘はまったく正しい。“怪しげなサービス”に使用中のID/パスワードを登録するのは危険である。そのサービスが,パスワードを収集するために実施されている恐れがあるからだ。

 もちろんパスワードの盗用に関しては我々もSecurityFriday.comのメンバーも細心の注意を払った。入力したIDとパスワードは計測した段階ですぐに削除しており,計測結果に関するログも一切取らなかった(繰り返しになるが,先に示した「10人に9人は1点以下」という傾向は,あくまでも観察者の感覚的なものである。何ら統計に基づいたものでない)。

 セキュリティ・スタジアムの会場ではこの点に関して何も説明しておらず,疑念を与えてしまった。主催者の一人として,この場を借りておわびしたい。

 最後に,セキュリティ・スタジアム 2002全体の結果報告をこちらのページで公開している。ご覧いただければ幸いである。

(中道 理=日経バイト)