少し汗ばむくらいの陽気の中,相談室はいつものように開店休業状態だ。室長の四谷博士は,大あくびをしながら相談員の市谷君に声をかけた。
室長:いつもながら暇じゃのう。
市谷:そうですねえ…。そういえば最近,オンライン・バンキングを始めたんですよ。
室長:おお。時代の最先端って感じじゃな。
市谷:…それほどでもないと思いますが。しかし,最近のオンライン・バンキングは進んでますねえ。パスワードひとつとっても,直接キーボードから入力しないようになっているし,使い捨てパスワードを採用している銀行もあるみたいですよ。
室長:どれもパスワードが盗まれないようにする対策じゃな…。パスワード管理が甘いと,簡単に不正アクセスされてしまうからのう。
そのとき,市谷君のパソコンがメール着信を知らせてきた。
市谷:話が聞こえたんですかね? 不正アクセスっぽい相談が来ました。読みますね。「リアルマネー・トレーディング用に蓄えていた,オンライン・ゲームのレアアイテムを盗まれました。ゲームの管理会社に言っても取り合ってもらえません。苦労してためたものなので悔しいのですが,何とかなりませんか?」。
室長:リアルマネー・トレーディングって何じゃ?
市谷:オンライン・ゲームで獲得したアイテムを現実のお金で売買することですよ。
室長:なるほど…。管理会社が動いてくれないのなら,何ともならんじゃろうなあ。…これで一件落着じゃな!
市谷:…。もうちょっと何とか答えられませんかね?
室長:詳細がわからんとなあ。そもそも,なぜ盗まれたのじゃろう?
市谷:それ,メールで質問してみますね。
室長:返事が返ってくるかのう?
市谷:…あ,もう来ましたよ,返事が。「おそらくパスワードが甘かったことが原因だと思います。管理会社にもそう言われました」ですって。
室長:なるほどのう。ちなみにどんなパスワードだったんじゃ?
市谷:また質問します…。…返事来ました。返事早いですねえ,この方。「パスワードは,“pasuwado(パスワード)”です。二度と破られないようにするには,どうしたらいいでしょうか?」(図1)。
![]() |
図1●秘密にしていたパスワードが解読された オンライン・ゲーム・サイトのパスワードが解読された。二度と破られないようにするにはどうしたらいいのだろうか。 |
室長:“pasuwado”って,簡単すぎるも何も,論外じゃな…。
市谷:一応,英語そのままじゃないんですけどねえ。
室長:盲点を突いたつもりだったのか? 今どきそんな手は通用しないじゃろう。しかしそれよりも問題なのは,わしらの質問に答えて簡単にパスワードを明かしてることじゃなあ。
パスワードは,第三者が不正にアクセスするのを防ぐためのもの。売買や取引をしたり,重要な情報を扱うようなときは,慎重な管理が必要だ。だが,パスワードの管理の重要性を認識しているユーザーは少ない。驚くほど多くの人が,すぐわかってしまうような簡単なパスワードを設定している。
安易なパスワードは意味が無い
例えば英国でユーザーが設定しているパスワードのトップは,「123」だという(表1)。アンケートに正直に答えるようなユーザーはそもそも意識が低いとも言えるが,それにしてもこんなパスワードでは,ほとんど無いも同然だ(表2)。
![]() |
表1●英国でよく使われるパスワードのトップ10 英国のスチュアート・ブラウン氏のブログ「Modern Life」(http://www.modernlifeisrubbish.co.uk/article/ top-10-most-common-passwords)による。 |
![]() | 表2●日本のクラッカが攻撃に使うパスワードのトップ10 警察庁の分析レポート (http://www.cyberpolice.go.jp/server/rd_env/pdf/20060817_SSH.pdf)による。SSHサービスに対する攻撃を調べたもの。 |
市谷:liverpool(リバプール)にarsenal(アーセナル)かあ。英国人はやはりサッカーが好きなんですね。
室長:じゃな。しかし,パスワードのランキングが人気のバロメータになるとは,セキュリティ上は由々しき事態じゃのう。
市谷:いっそのこと,超マイナーなチームにしちゃえば安全ですかね?
室長:いや。マイナーとかメジャーとかは関係ないのじゃ。
パスワードに対する攻撃方法で代表的なものは,「辞書攻撃」と「ブルート・フォース攻撃」である(図2)。いずれもパスワード入力を何通りも試して,正しいパスワードを解読する。
![]() |
図2●盗まれなくてもパスワードは解読されてしまう よく使われる文字列はすぐに解読される。そうでなくても総当たりで試されればいつかは破られる。 |
辞書攻撃は,パスワードに使われそうな単語の一覧表を“辞書”として持ち,それを次々に試す方法(図2のA)。サッカーのチーム名といったパスワードが危ないのは,辞書攻撃で簡単に解読されてしまうからだ。
よくあるパスワードの英字を記号に置き換える方法は,単純な辞書攻撃にはある程度有効だ。例えば「sonodam」の「s」を「$」に,「a」を「@」に置き換えて,「$onod@m」にするといった具合だ。ただし,最近はこのような置き換えに対応できる辞書攻撃ツールが存在するので,安心できない。
一方ブルート・フォース攻撃は,総当たり攻撃とも呼ぶ。これは,可能な文字の組み合わせをすべて試す方法である(同B)。この攻撃にかかれば,理論上はどんなパスワードもすべて解かれてしまうことになる。
市谷:パスワードに単語を使うのは論外なんですね。でも結局はどんな文字列でも解読されてしまうんですか。
室長:そうなんじゃ。ただしパスワードは,長さや文字によって解読しやすさが大きく変わるんじゃ。そこで気をつけねばならないのは,長さや文字を工夫してパスワードの寿命を可能な限り長くすることなんじゃよ。
ブルート・フォース攻撃によってパスワードが解読されるまでの時間は,使う文字の種類やパスワードの長さに大きく左右される(表3)。
![]() |
表3●使う文字の種類と桁数による,パスワードの組み合わせ数と総当たり所要時間 総当たり所要時間は毎秒40万回のペースで攻撃することを前提に計算した。 [画像のクリックで拡大表示] |
例えば数字4桁のパスワードの種類は1万通り。クラッカがブルート・フォース攻撃で最大1万回試行すれば,パスワードは解読できてしまう。もちろんこの回数は「最大」で,クラッカは通常もっと早く解読に成功する。ただし,数字や文字などの組み合わせが多くなれば,それだけ寿命は延びるのである。
パスワードの組み合わせを多くする方法は二つ。一つは使う文字の種類を増やすこと。もう一つは,パスワードの桁数を増やすことだ。