JALマイレージバンクの不正ログイン&マイル盗難事件で、日本航空の広報担当が発表したパスワード強度の考え方がネット界隈で騒がれています。
ITmediaのニュースで以下のように報じられています。
『日本航空は2月3日、「JALマイレージバンク」のWebサイトに不正ログインがあり、一部ユーザーのマイレージが第三者によって引き落とされ、Amazonポイントに交換されていた可能性があると発表した。
(中略)
同社はメールとWebサイトを通じ、全ユーザー2700万人にパスワードの変更を依頼。JALマイレージバンクのパスワードは数字6ケタだが、数字だけのパスワードが脆弱という認識は「ない」(同社広報部)としており、ケタ数を増やしたりアルファベットを加えるなどの強化策は「検討していない」という。』
(「JALマイレージバンク」に不正ログイン、マイル盗む 数字のみパスワードの強化策は「検討していない」)
→ http://www.itmedia.co.jp/news/articles/1402/04/news075.html
私もJALマイレージバンクを利用していますが、以前からパスワードの桁数が6桁短く、しかも数字しか使えないことに不満を抱えていました。その理由は次の2点です。
【1】パスワードの複雑度が低くて安心できない
多くの人がこの点に難色を示しているものと思います。パスワードがシンプルであれば「覚える文字が少なくて済む」という利点がありますが、裏を返すと、「他人から推測されやすい(クラッキングされやすい)」ということでもあります。
「数字、文字、記号で構成された長いパスワードを使用しましょう」
これはGoogleのガイドラインに示されているパスワード作成の注意事項です。皆さんの中には「それくらい当たり前」と考えている人も多いでしょう。ネット上のウェブサービスの中には、大文字・小文字・数字・記号から3種類以上を組み合わせたパスワードを作成するよう要求されることもざらにあります。
たとえば、パスワードの長さと解読時間の関係性を示した英国のレポートがあり、これによると、数字6桁のパスワードは15年前のパソコンを使っても、たった5分で解読できると述べられています。
(パスワードの長さと解読時間の関係性)
→ http://it-ura.seesaa.net/article/386979486.html
このようなトレンドの中で、いまだに6桁でしかも数字のみ入力可能であるというJALマイレージバンクのパスワードポリシーに不安を覚えるユーザーも多いです。事実、Twitter上ではこのことについて「不正アクセスを受けたのに、パスワードポリシーは数字6桁を維持ってバカすぎる!」との声が数多く挙がっています。
【2】他のウェブサービスのパスワードと兼用できない
さきほどのGoogleのパスワードポリシーには、ひとつひとつのウェブサービスに対して個別にパスワードを用いるべき、とありましたが、おそらく世の中の大半の人はそんな面倒くさいことを避け、いくつかもしくはすべてのサイトで共通のパスワードを利用しているのではないでしょうか。
これについて、セキュリティ専門家の現実的なパスワード運用方法を以下のリンクで示唆していますが、それでも大文字小文字や記号を組み合わせた8文字以上の文字列をベースにすることを推奨しています。
(安全性と使いやすさを兼ね備えたパスワードの作り方)
→ http://it-ura.seesaa.net/article/386979486.html
しかし、JALマイレージバンクでは数字6桁のパスワードしか許していません。ということは、このサイト用にシンプルで脆弱と考えられるパスワードをわざわざ覚えて運用しなければならないのです。私にとっては、これこそが最大の不満です。
ここまでの流れで、JALマイレージバンクのパスワード管理は大変な脆弱性を孕んでいると懸念を覚えた方はいることでしょう。しかし、これはJALだけの話ではありません。
冒頭のITmediaニュースにある通り、全日空のANAマイレージクラブは数字4桁のパスワード管理に留まっています。日本航空は、パスワード盗難が発生しながらも数字6桁のパスワード管理に脆弱性はないと宣言しています。
それはなぜでしょう。世の中には、数字4桁で運用している金銭に関わるサービスが多数あるので、それと照らし合わせて考えてみます。
たとえば、銀行ATMのログインパスワードは数字4桁ですし、携帯電話のネットワークパスワード(契約内容変更等に使うパスワード)も数字4桁で運営されています。しかし、これらは利用者の手元にキャッシュカードや携帯電話本体といった「認証デバイス」が存在していることを前提とした2重セキュリティになっているため、数字4桁であってもセキュア度合が根本的に異なります。
ではクレジットカードによるオンラインショッピングはどうでしょう。オンラインショップで入力するのは、カード番号と有効期限、それからカード固有のセキュア文字列です。これらの情報さえあれば、実物のクレジットカードを手元に用意する必要はありません。クレジットカード認証は、入力ミスが規定回数に達すると決済をロックするようになっているので、総当たりの入力によるクラッキングを防ぐ仕組みとしています。
この仕組みはJALマイレージバンクやANAマイレージクラブにも採用されています。つまり、ログインを規定回数失敗すると、アカウントをロックするのです。この仕組みがあるから、日本航空の場合、数字6桁でも脆弱性に問題はないと述べているように思えます。
この論理には一定の合理性があります。マイクロソフト社の技術サポートサイトでは、次のような見解が述べられています。
『(前略)オンラインのブルート フォース パスワード攻撃(総当たり攻撃)は何百万もの他のユーザー アカウントのパスワードの組み合わせを実行するのに自動化された方法を使用できます。 実行できる失敗したログオンの回数を制限する場合はこのような攻撃の有効性がほぼなくなることができます。(後略)』
(脅威とその対策: アカウント ポリシー)
→http://technet.microsoft.com/ja-jp/library/hh125920%28v=ws.10%29.aspx
要するに、ログイン回数制限を設けることで、シンプルなパスワードであってもクラッキングされにくくなる、という理屈です。
JALマイレージバンクもANAマイレージクラブも、「@パスワードの文字数&文字種類アップさせるシステム改修費用」よりも、パスワードロックルールを設けることで残存する「A顧客被害時の補償金額」の方が相当小さいと判断したのだと思います。
しかし、前述のクレジットカード業界では、@よりもAの方が相当大きいと判断したため、オンライン認証(クレジットカード固有情報の入力+クレジットカード会社サイトでの複雑なパスワード認証)の仕組みを導入し始めています。
JALマイレージバンクとANAマイレージクラブのセキュリティ向上が果たされるには、Aが相当に大きくなる必要があるのでしょうね。