「知っている」ことをベースに認証を行うパスワードですが、「パスワードはセキュリティ的に古すぎて、寿命が来ている」という指摘もあります。
パスワードは本当にもう終わりなのか、パスワードについて考えてみましょう。

パスワードは本当に弱いのか?

「パスワードはもう終わり」「パスワードはセキュリティが弱い」といった記事をよく見かけます。セキュリティ専門家やIT専門家が話していることですので、正しい部分もあるかもしれません。
しかし、よく考えてみましょう。例えば、みなさんは友人のアマゾン(Amazon.com)のログインパスワードを入手できるでしょうか? その友人があまりに無防備なタイプで、わざわざ教えてくれたという場合を除けば、超能力者でもない限り難しいでしょう。これが「I Know認証」の強さです。頭の中にある記憶、脳内にある情報……これを取得することは、本人の協力がなければ、ほぼ不可能です。
パスワードは、ブラウザに保存して、次回以降は自動ログインさせることも可能です。いつも自宅や会社で使っている安全な環境のパソコンであれば、パスワードを改めて入力する必要もなくすぐにログインできるので、利便性が高いという特徴もあります。
このように、パスワードというものは「(基本的には)セキュリティが強く、かつとても使いやすい」優れた認証方法です。
それでも、世の中ではパスワードが問題になっています。もちろんこれも事実です。先ほどの例でいうと「私のアマゾンのパスワードは、誕生日の8桁です」などと誰かに話してしまうと、それを聞いた人は少し調査するだけで誕生日が分かりますから、パスワードも分かってしまいます。もちろん、メモに書いて貼っておいたら、それを見た人にパスワードが分かってしまいます。
このように、パスワードの弱点のひとつは「頭の中から外へ出た瞬間、無防備になる」という点です。
もうひとつの弱点は「パスワードがたくさんありすぎて覚えられない。設定したパスワードが難しいとなかなか覚えられない」といった点です。
インターネットが現在ほど一般的でなかったころは、パスワードはせいぜい3つも覚えておけば十分でした。ところが今では、人によっては数十件から数百件にも及ぶインターネットサービスを利用しており、それぞれにパスワードを設定しなくてはなりません。
言うまでもなく、そんな膨大な数の異なるパスワードを覚えることなど不可能に近いため、多くのユーザーは、パスワードをさまざまなサイトで使い回してしまいます。銀行や証券会社等、金銭を扱うような重要サイトでは、ランダムな文字列のパスワードにしたとしても、やはり覚えられないので、エクセルのリスト等で管理します。
メモに書いて貼っておく、エクセル等でパソコンに保管する……これらの方法は、いずれもパスワードが頭の中にあるわけではないので、無防備に置かれている状態です。
パスワードは、それ自体は「セキュリティ的に強い」のですが「きちんとした管理が難しい」という大きな弱点も確かにあるので、その点を強く意識する必要があります。

なぜ暗号化されたパスワードの漏洩が問題になるのか

サービス提供側からパスワードが漏洩したというニュースを、しばしば目にします。ですが、信頼性のある普通の企業のWebサイト・サービスであれば、パスワードを安全のために暗号化して保存しているはずです。パスワードが暗号化されていれば、漏洩したとしても、手に入れた人には判読できないはずです。それなのに、なぜ問題になるのでしょうか?
パスワードを使うサイトでは、パスワードを「一方向関数」というもので暗号化して保存します。一方向関数とは「暗号化すると元のパスワードへ戻せない」といった意味です。
では、パスワードが正しいものかどうかは、どのように判断されるのでしょうか。まず、入力されたパスワードを同じ一方向関数で暗号化し、保存されている暗号化されたパスワードと比較します。それが同じものであれば、パスワードは正しい、と判断されます。これなら、サイトがハッキングされても「暗号化されたパスワード」が漏洩するだけで、一方向関数のため、元のパスワードに戻せないため安心です。
ところが、どのような一方向関数が使われたのかが分かっていると、危険性が一挙に高まります。
攻撃者は、以下のような手順でパスワードを判読します。

① パスワードになりそうな適当な文字列を作成し、一方向関数で暗号化
② 暗号化されたパスワードと、漏洩した暗号化パスワードを比較
③ 同じであれば、先ほどの文字列がパスワード!
④違っていれば再トライ

もし、攻撃者がこうした処理を1秒間に10回行えるパソコンを使っているなら、1時間に3万6000回、1日では100万回程度、チャレンジができます。パスワードが8桁の数字(1億通り)であれば、100日で1億通りが判明します。10台使えば10日、処理速度が10倍速いマシンを10台使えば、わずか1日の作業です。
サービス側から漏洩した暗号化パスワードの数が大きくなると、この“偶然チャレンジ作戦”の効率がはるかに高まります。漏洩件数が1万件であれば1万倍、10万件なら10万倍同時に比較できるからです。結局のところ、かなり複雑で長いパスワードを設定していないと、パスワードは比較的容易に解読されてしまう運命にあります。

さて、ここで紹介した例では、犯人は情報漏洩したサイトでみなさんが使っている「ユーザーID・パスワード」を入手した“だけ”です。ですから本来であれば、被害はこのサイトだけで済むはずです。情報漏洩事件が発生したサイトはパスワードをリセットする等の対策を行うので、被害はくい止められるはずですね。
ところが、ここで「パスワードの使い回し」が問題になります。犯人は、発見した「ユーザーID・パスワード」の組み合わせを、ほかのサイトでも試してみます。偶然にもログインが成功すれば、そのサイトでも悪事を働くことができます。
つまり、Webサイトからパスワードが漏洩した場合は、被害はひとつのサイトで終わらない可能性があるのです。

パスワード運用の注意点まとめ

「記憶の中だけにある限り、他人に知れることはない」という安全性がありながら「人間の記憶力の限界から、多数を覚えることが困難」という弱点を持つパスワードですが、インターネットが発達し、複数のWebサービスを利用することが当たり前の現在、最も一般的な認証方式として採用されてきている以上、使うことは避けられません。
そこで、パスワードを運用するうえで最低限守るべきルールをここに示しておきます。次のルールを満たして運用することで、一般的なレベルのセキュリティを確保することができます。

①十分な「ランダムさ」と「長さ」を満たして作成する
数字のみであれば8桁以上、英数字等であれば6桁以上で、偶然正解できる確率を1億分の1以下にすることができます。1億分の1の確率であれば、セキュリティを十分確保できているといえます。ただし、ランダムな文字列でなくてはいけません。自分の名前や誕生日等、他人が知ることができる情報から推測できる文字列の使用は、安全性が下がります。
このように推測可能なパスワードを設定してしまうことを防ぐため、記号等を含めることを求められる場合もありますが、充分にランダムなパスワードであれば、数字だけ・英数字だけの構成で問題ありません。

②一定回数ログインミスをした場合に「アカウントロック」
一定回数ログインに失敗した場合には、そのアカウントでのログインを遮断する「アカウントロック」を実施して、システムを守ります。ただし、アカウントロックを故意に発生させる「アカウントロック攻撃」を受ける可能性が発生します。これを防ぐためには、別途対策を採る必要があります。会社内での利用であれば、ログインURLを公開しない、IPアドレス制限等の対策がとれるため、アカウントロック攻撃を受ける危険性は低くなります。

③他の人の目に付くところに、直接記録しない
複雑でランダムなパスワードは、覚えるのが大変難しいものです。手帳等を利用する場合は、パスワードをそのまま記載せず一部を隠す等、工夫する必要があります。または、後述の「パスクリップ」等のパスワード管理・生成アプリを利用することもできます。会社のパスワードをこのようなアプリ等に保存する場合は、正当なメーカーのものであるか、またアプリ提供側のサーバーからパスワードデータが漏洩する危険性がないかといったチェックが必要です。
「パスワードを紙に書くな」という指示を守るのは困難ですので、会社側でパスワード管理ソフトを指定し、社員に利用してもらうという運用も良いでしょう。

パスワード運用の注意点は以上ですが、悪意の第三者「悪い人」は、これらの運用をしていたとしても、記憶から外に出す時の隙をついたり、人間の意識を誘導したり、技術的な弱点をつくことで、パスワード情報を奪おうとしてきます。
次のページから「悪い人」が行う代表的な攻撃方法を紹介します。

・次の記事:「認証」の基礎知識(4):パスワードにまつわる脅威

「ITセキュリティ強化の道」記事カテゴリ

※この記事は、パスロジムック「ITセキュリティ強化の道 ~「認証」を極めて、セキュリティ&業務効率UP!~」から抜粋・転載した内容です。